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