1、在nodejs中读取文件 原生方法进行异步访问 (每一步都需要判断)
fs.readFile('./name.txt','utf8',(err,data)=>{
if(err){
return console.log(err);
}
fs.readFile(data,'utf8',(err,data)=>{
if(err){
return console.log(err);
}
console.log(data);
})
})
2、将回调的方法改成promise
function readFile(...args){
return new Promise((resolve,reject)=>{
fs.readFile(...args,function(err,data){
if(err)reject(err);
resolve(data);
})
})
}
readFile('./name.txt','utf8').then(data=>{
console.log('成功')
},err=>{
console.log('报错')
})
3、promise 链式调用
// 链式调用 如果返回一个普通值 会走下一个then的成功
// 抛出错误 then失败的方法
// 如果是promise 就让promise执行采用他的状态
// 是返回了一个新的promise 来实现链式调用
readFile('./name.txt','utf8').then(data=>{
return readFile(data,'utf8')
},err=>{
console.log(err)
}).then(data=>{
console.log(data);
},err=>{
console.log(err);
})
网友评论