1.Promise的作用
主要用於異步計算,可以將異步操作隊列化,按照期望的順序執行,返回符合預期的結果
new Promise(
function (resolve, reject) {
// 一段耗時的異步操作
resolve('成功') // 數據處理完成
// reject('失敗') // 數據處理出錯
}
).then(
(res) => {console.log(res)}, // 成功
(err) => {console.log(err)} // 失敗
)
- resolve作用是,將Promise對象的狀態從“未完成”變爲“成功”(即從 pending 變爲 resolved),在異步操作成功時調用,並將異步操作的結果,作爲參數傳遞出去;
reject作用是,將Promise對象的狀態從“未完成”變爲“失敗”(即從 pending 變爲 rejected),在異步操作失敗時調用,並將異步操作報出的錯誤,作爲參數傳遞出去。 - promise有三個狀態:
1、pending[待定]初始狀態
2、fulfilled[實現]操作成功
3、rejected[被否決]操作失敗