Promise catch() 方法
關於Promise物件的基本介紹可以參閱JavaScript Promise 物件一章節。
此方法的作用與p.then(undefined, onRejected)功能相同,p是一個Promise物件。
也就是當Promise物件變為Rejected狀態時,catch的回撥函式。
語法結構:
[JavaScript] 純文字檢視 複製程式碼p.catch(onRejected);
引數解析:
(1).onRejected:必需,當p的狀態變為Rejected時,此回撥函式就會執行。
程式碼例項如下:
[JavaScript] 純文字檢視 複製程式碼執行程式碼let p = new Promise(function(resolve, reject) { if (false) { resolve(); } else { reject(); } }); p.then(function () { console.log("螞蟻部落一"); }).catch(function () { console.log("螞蟻部落二") });
程式碼執行效果截圖如下:
p物件變為Rejected狀態,就會執行catch()方法的回撥函式。
程式碼分析如下:
(1).Promise建構函式執行後,立馬呼叫其回撥函式。
(2).經過if else語句判斷執行reject()函式,Promise物件變為Rejected狀態。
(3).於是執行catch的回撥函式,列印結果為"螞蟻部落二"。
[JavaScript] 純文字檢視 複製程式碼執行程式碼let p = new Promise(function(resolve, reject) { reject(); }); p.then(function () { //code }).then(function () { //code }).catch(function () { console.log("antzone") });
程式碼執行效果截圖如下:
catch()可以捕獲它之前Rejected狀態變化,不必緊鄰。
相關文章
- 手擼 Promise (then、catch)Promise
- 實現 Promise.resolve/reject/all/race 及例項方法 .catch/.finallyPromise
- ES6 Promise——then與catch的返回值實踐Promise
- Promise和Promise的方法Promise
- Promise then() 方法Promise
- 返回Promise物件的函式,函式內部記得加try catch!Promise物件函式
- Java中try()catch{}的使用方法Java
- Promise.reject() 方法Promise
- Promise.race() 方法Promise
- JavaScript 在 Promise.then 方法裡返回新的 PromiseJavaScriptPromise
- Promise.resolve() 方法Promise
- Promise 方法的實現Promise
- 解決程式碼中重複的捕獲 promise 錯誤的 try catch 語句Promise
- Promise 原始碼:靜態方法Promise原始碼
- 實現promise.all方法Promise
- 掌握 Promise 的邏輯方法Promise
- 為Promise新增一個方法Promise
- Laravel try catchLaravel
- js try catchJS
- 關於Promise後續的方法。Promise
- 從使用到原理,實現符合Promise A+規範的Promise方法Promise
- iOS的@try、@catch()iOS
- Catch the Mole(Easy Version)
- Promise 基本方法的簡單實現Promise
- Promise 靜態 API 的使用方法PromiseAPI
- IE 不支援 Promise 解決辦法 (或者 promise 未定義)的解決方法Promise
- Java try catch finallyJava
- c++ try catch 問題C++
- 實現Promise的原型方法--前端面試能力提升Promise原型前端面試
- (十四).try-throw-catch機制
- JavaScript try catch finally 語句JavaScript
- js中try和catch的用法JS
- JavaScript錯誤_throw、try和catchJavaScript
- Java try catch finally 總結Java
- JavaScript try/catch/finally 語句JavaScript
- 微軟:請不要使用 Try/Catch微軟
- java中try catch塊的使用Java
- 【C#之Try……Catch例項】C#