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获取异步函数的数据