什么是承諾
*promises 是一個(gè)代表異步操作最終完成的對(duì)象。
承諾的狀態(tài)
promise 可以處于以下三種狀態(tài)之一:
1.pending:初始狀態(tài),既沒有完成,也沒有拒絕。
2.fulfilled: 操作成功完成。
3.拒絕:操作失敗。
創(chuàng)造一個(gè)承諾
let mypromise = new promise((解決, 拒絕) => {
讓成功= true;
如果(成功){
solve(“操作成功!”);
}其他{
拒絕(“操作失敗。”);
}
});
要處理 promise 的結(jié)果,您可以使用 then() 和 catch() 方法:
我的承諾
.then((消息) => {
控制臺(tái).log(消息); // “操作成功!”
})
.catch((錯(cuò)誤)=> {
控制臺(tái).錯(cuò)誤(錯(cuò)誤); // “操作失敗。”
});
*then() 在 promise 履行時(shí)執(zhí)行。
*catch() 在 promise 被拒絕時(shí)執(zhí)行。
承諾示例
const mypromise = new promise((解決, 拒絕) => {
setTimeout(() => { resolve("Promise fulfilled!"); }, 2000);
登錄后復(fù)制
});
我的承諾
.then(消息=> {
控制臺(tái).log(消息);
})
.catch(錯(cuò)誤=> {
console.error(‘承諾出現(xiàn)問題:’, error);
});
promise 的優(yōu)點(diǎn):-
1.提高可讀性:
與嵌套回調(diào)相比,promise 允許更干凈、更線性的代碼。
2.更好的錯(cuò)誤處理:
可以使用專用的 .catch() 方法處理錯(cuò)誤,簡(jiǎn)化錯(cuò)誤管理。
3.避免回調(diào)地獄:
promise 有助于防止深層嵌套結(jié)構(gòu),使代碼更易于閱讀和維護(hù)。
4.支持異步/等待:
promise 是 async/await 語法的基礎(chǔ),允許以同步風(fēng)格編寫異步代碼。
5.增強(qiáng)性能:
promise 可以通過允許多個(gè)異步操作同時(shí)運(yùn)行來提高性能。