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創建Promise對象,圖2調用圖1中創建的Promise對象,並使用Promise對象的then()方法。通過以上代碼,我們就將兩個本來是異步的請求,轉換成了同步請求。
閱讀更多 編碼之道 的文章
關鍵字: ECMAScript 微信 請求