promise 是非同步程式設計的解決方案,他代表承諾,便是一定會丟擲兩種狀態,狀態一經確定就不會改變
編譯成功:resolve(value) 為(必選)
編譯失敗:reject(error) (可選)
使用then 接收正確的丟擲
then 後面接 catch(function(error)){} ( 可以簡寫為function(){} ) 接受錯誤的資訊的處理( 但編譯出錯如果沒有在then 後面接 catch(function(error)) 頁面會報錯 )
let promise = new promise(function (resolve, reject) );
console.log(promise, 'promise');
promise.then(() => , function (e) );
因為 then 返回的是乙個新的promise 物件,所以後面可以繼續跟著 then(為鏈式寫法)
let promise = new promise(function (resolve, reject) );
promise.then(() => , function (e) ).then((e) => );
相對於直接使用 promise 使用 async/await 會直接清晰
缺點就是濫用會導致效能問題
function awaite() );
}async function getpromise()
getpromise().then((e)=>).catch(alert);
console.log('結束運算');
Promise非同步程式設計
當我們用 ajax去請求有依賴的多個資料的時候,編寫會形成漏斗形狀的結構,可讀性差,可以使用es6提供的promise promise概述 promise是非同步程式設計的一種解決方案,從語法上講,promise是乙個物件,從它可以獲得非同步操作的訊息 使用promise有以下好處 可以避免多層非同...
Promise非同步程式設計
例項化promise物件,建構函式中傳遞函式,該函式中用於處理非同步任務 resolve和reject兩個引數用於處理成功和失敗兩種情況,並通過p.then獲取處理結果 在呼叫then時可以只傳入正常情況函式處理,不傳入異常情況函式,即只處理成功情況 我們使用new來構建乙個promise prom...
非同步程式設計 Promise任務鏈
講解promise任務鏈之前先看乙個例子 new promise resolve,reject then then 猜猜控制台會列印什麼東西呢,正確答案是 reject 2 resolve 3 想知道為什麼,繼續往下看 promise chainthen函式執行後會返回乙個新的promise物件 如...