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.捕獲錯誤
*/

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