【玩轉前端】如何在微信小程序裡發送同步請求

【玩轉前端】如何在微信小程序裡發送同步請求

【玩轉前端】如何在微信小程序裡發送同步請求

Promise,相信每一個前端工程師都或多或少地在項目中都是用過,畢竟它早已不是一個新名詞,ECMAScript 6已經原生對它加以支持。

Promise對象擁有兩個實例方法,分別是then()和catch()。

1、then()

then()可以接收兩個參數,且通常都是函數。第一個參數會添加到成功時調用的數組中,第二個參數添加到失敗時調用的數組中。當promise狀態為成功時,會把resolve(value)中的value值傳給調用的函數中,同理,當promise狀態失敗時,會把reject(reason)中的reason值傳給調用的函數。如下:

【玩轉前端】如何在微信小程序裡發送同步請求

2、catch()

catch()從名字上我們就看得出來,它和異常有千絲萬縷的關係。實際上,catch(reject)方法等價於then(function(){}, reject)。如下:

【玩轉前端】如何在微信小程序裡發送同步請求

從圖中我們可以看到,在以上兩種方式中,都輸出了同樣的內容。

3、具體實現

【玩轉前端】如何在微信小程序裡發送同步請求

圖1

【玩轉前端】如何在微信小程序裡發送同步請求

圖2

圖1創建Promise對象,圖2調用圖1中創建的Promise對象,並使用Promise對象的then()方法。通過以上代碼,我們就將兩個本來是異步的請求,轉換成了同步請求。


【玩轉前端】如何在微信小程序裡發送同步請求


分享到:


相關文章: