promise

作者: Rui___ | 来源:发表于2019-11-05 15:11 被阅读0次

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);
})

相关文章

网友评论

      本文标题:promise

      本文链接:https://www.haomeiwen.com/subject/voqkmctx.html