promise基本用法

promise基本用法

let promise = new Promise((resolve, reject)=>{
reject(“拒絕了”);
});
promise.then((data)=>{
console.log(‘success’ + data);
}, (error)=>{
console.log(error)
});

對象不受外界影響,初始狀態爲pending(等待中),結果的狀態爲resolve和reject,只有異步操作的結果決定這一狀態

狀態只能由pending變爲另外兩種的其中一種,且改變後不可逆也不可再度修改

let promise = new Promise((resolve, reject)=>{
reject(“拒絕了”);
resolve(“又通過了”);
});
promise.then((data)=>{
console.log(‘success’ + data);
}, (error)=>{
console.log(error)
});

then方法的規則

then方法下一次的輸入需要上一次的輸出
如果一個promise執行完後 返回的還是一個promise,會把這個promise 的執行結果,傳遞給下一次then中

如果then中返回的不是Promise對象而是一個普通值,則會將這個結果作爲下次then的成功的結果
如果當前then中失敗了 會走下一個then的失敗
如果返回的是undefined 不管當前是成功還是失敗 都會走下一次的成功
catch是錯誤沒有處理的情況下才會走

then中不寫方法則值會穿透,傳入下一個then中

由於想看到多次連貫回調,我們專門設置3個txt文件,其中1號文件的內容爲2號文件的文件名,2號文件的內容爲3號文件的文件名,3號中展示最終內容
read(‘readme.txt’, ‘utf8’).then((data)=>{
return read(data, ‘utf8’);
}).then((data)=>{
return read(data, ‘utf8’)
}).then((data)=>{
console.log(data);
});

參考文章
https://juejin.im/post/5b605b035188251a90189c61

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