node.js 获取异步方法里面数据 的方式

function getData(callback){
    setTimeout(function(){
        var name = 'xxxx';
        
        callback(name);
    }, 1000);
}

// 外部获取异步方法里面的数据 采用回调函数的方式
getData(function(data){
    console.log(name);
});
var fs=require('fs');
var events=require('events');

var EventEmitter=new events.EventEmitter();


function getMime(){
    fs.readFile('t1.js',function(err,data){
        console.log(3);
        EventEmitter.emit('data',data)
    })

}
console.log(1);
getMime();
console.log(2);

EventEmitter.on('data',function(mime){

    console.log(mime.toString());
})
console.log(4);
var fs = require('fs');
function getData(){
    return new Promise((resolve, reject)=>{
        fs.readFile('t1.js', (err, data)=>{
            if(err){
                reject(data);
                console.log('read fail');
            } else {
                resolve(data);
            }
        });
    });
}

getData().then((data)=>{
    console.log(data.toString());
});
// Promiese 可以把定义好的异步函数 放入Promise里面作为参数, 然后用then获取异步函数的数据
原文地址:https://www.cnblogs.com/chengfengchi/p/13617268.html