promise對象使用是處理異步等待時常用手段,用于在異步程式中同步代碼的執行。
let fs=require('fs')
let p1=new Promise(function (resolve,reject) {
fs.readFile('a.txt',function (err,data) {
if(!err){
resolve(data.toString())
}else {
reject(err)
}
})
}
)
p1.then(function (d) {
console.log('這個是對的:',d)
},function (e) {
console.log('這個是錯的:',e)
}
)
執行正确的腳本,結果如下:
$ node promise_test.js
這個是對的: 松下問童子,言師采藥去。隻在此山中,雲深不知處。
将
a.txt
檔案重命名為
a.tssxt
後執行該腳本,結果如下:
$ node promise_test.js
這個是錯的: {> [Error: ENOENT: no such file or directory, open ‘a.tssxt’] errno: -2,code: ‘ENOENT’, syscall: ‘open’, path: ‘a.tssxt’ }