【微信小程序】wepy:async/await(04)

async/ await:一個用同步思維解決異步問題的方案。

async:作爲一個關鍵字放到函數前面,用於表示函數是一個異步函數,不會阻塞後面的函數。

await操作符:用於等待一個promise對象, 它只能在異步函數async funtion 內部使用,如果代碼中有return(非promise)語句,會自動把返回的這個value值包裝成promise的resolved值。

即:確保函數返回一個promise,即使其中包含非promise。

await在等待 Promise 對象時會導致async funtion 暫停執行, 一直到 Promise 對象決議之後纔會 async funtion 繼續執行。

語法:

【async function ([param[, param[, ... param]]]) { statements }】

 

Promise 對象:用於表示一個異步操作的最終狀態(完成或失敗),以及其返回的值。

Promise 對象是一個代理對象(代理一個值),被代理的值在Promise對象創建時可能是未知的。它允許你爲異步操作的成功和失敗分別綁定相應的處理方法(handlers)。 這讓異步方法可以像同步方法那樣返回值,但並不是立即返回最終執行結果

Promise有以下幾種狀態:

pending: 初始狀態,既不是成功,也不是失敗狀態。

fulfilled: 意味着操作成功完成。

rejected: 意味着操作失敗。

語法:

【new Promise( function(resolve, reject) {...} /* executor */ );】

executor:一個函數,帶有 resolve 和 reject 兩個參數。

Promise構造函數執行時立即調用executor 函數, resolve 和 reject 兩個函數作爲參數傳遞給executor(executor 函數在Promise構造函數返回新建對象前被調用)。

resolve 和 reject 函數被調用時,分別將promise的狀態改爲fulfilled(完成)或rejected(失敗)。

 

 

 

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