promise:异步回调

const fs=require('fs')

function isExit(){
    return new Promise((resolve,reject)=>{
        fs.stat('./hehe.js',(err,stats)=>{
            if(err){
                reject('文件不存在')
            }else{
                resolve('文件存在')
            }
        })
    })
}

function delFile(){
    return new Promise((resolve,reject)=>{
        fs.unlink('./hehe.js',(err)=>{
                if(err){
                    reject('del not ok')
                }else{
                    resolve('del ok')
                }
        })
    })
}

isExit()
.then(()=>{
    console.log('isExit的成功处理')
    return delFile()
})
.then(()=>{
    console.log('删除文件的成功处理')
    // throw new Error('手动终止')
    
})
.catch((err)=>{
    console.log('catch')
    console.log(err)
})
/*
链式调用,一组链式调用只需要一个catch
如何终止链式调用的执行  通过抛出一个错误
大量的异步操作,如果需要顺序执行,通过回调函数执行
1.封装promise函数
function test(){
    return promise((resolve,reject)=>{
        成功  resolve
        失败  reject
    })
}
2.根据顺序,形成链式调用
test()      .then()     .then()    .catch()
3.捕获错误
*/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章