promise

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);
})
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容