国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

對Promise的學習總結與思考

canopus4u / 3188人閱讀

摘要:學習地址詳見正文調用或并不會終結的參數函數的執行調用以后,后面的還是會執行,并且會首先打印出來。這是因為立即的是在本輪事件循環的末尾執行,總是晚于本輪循環的同步任務。另外,方法指定的回調函數,如果運行中拋出錯誤,也會被方法捕獲。

學習地址詳見:http://es6.ruanyifeng.com/#do...

正文

1.調用resolve或reject并不會終結 Promise 的參數函數的執行

new Promise((resolve, reject) => {
  resolve(1);
  console.log(2);
}).then(r => {
  console.log(r);
});
// 2
// 1

調用resolve(1)以后,后面的console.log(2)還是會執行,并且會首先打印出來。這是因為立即 resolved 的 Promise 是在本輪事件循環的末尾執行,總是晚于本輪循環的同步任務。
一般來說,調用resolve或reject以后,Promise 的使命就完成了,后繼操作應該放到then方法里面,而不應該直接寫在resolve或reject的后面。所以,最好在它們前面加上return語句,這樣就不會有意外。

2.關于catch

getJSON("/posts.json").then(function(posts) {
  // ...
}).catch(function(error) {
  // 處理 getJSON 和 前一個回調函數運行時發生的錯誤
  console.log("發生錯誤!", error);
});

上面代碼中,getJSON方法返回一個 Promise 對象,如果該對象狀態變為resolved,則會調用then方法指定的回調函數;如果異步操作拋出錯誤,狀態就會變為rejected,就會調用catch方法指定的回調函數,處理這個錯誤。另外,then方法指定的回調函數,如果運行中拋出錯誤,也會被catch方法捕獲。

1)狀態變成reject?的方式有兩個:手動操作 reject() reject方法的作用,等同于拋出錯誤; 異步操作拋出錯誤,狀態就會變為rejected

2)觸發catch: 異步操作狀態變為rejected; then方法運行中拋出錯誤

3)一般來說,不要在then方法里面定義Reject狀態的回調函數(即then的第二個參數),總是使用catch方法。
思考:第一步出錯,是直接執行catch還是接著走then? 直接被catch

3.Promise 內部的錯誤不會影響到 Promise 外部的代碼
4.任務隊列
new Promise是同步的,會馬上執行function參數中的事情。等function參數執行完,new Promise才返回一個promise實例對象。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/89047.html

相關文章

  • JS筆記

    摘要:從最開始的到封裝后的都在試圖解決異步編程過程中的問題。為了讓編程更美好,我們就需要引入來降低異步編程的復雜性。異步編程入門的全稱是前端經典面試題從輸入到頁面加載發生了什么這是一篇開發的科普類文章,涉及到優化等多個方面。 TypeScript 入門教程 從 JavaScript 程序員的角度總結思考,循序漸進的理解 TypeScript。 網絡基礎知識之 HTTP 協議 詳細介紹 HTT...

    rottengeek 評論0 收藏0
  • promise學習筆記

    摘要:第一個回調函數完成以后,會將返回結果作為參數,傳入第二個回調函數。捕獲錯誤方法是的別名,用于指定發生錯誤時的回調函數。處理前一個回調函數運行時發生的錯誤出錯啦對象的錯誤具有冒泡性質,會一直向后傳遞,直到被捕獲為止。 前言 一直想寫一篇關于promise的文來總結一下之前零零散散的promise知識點,趁著工作閑暇,來做個總結。PS:本文適合有一定JavaScript基礎的童鞋閱讀。 什...

    cheukyin 評論0 收藏0
  • 寫技術博客那點事

    摘要:從現在開始,養成寫技術博客的習慣,或許可以在你的職業生涯發揮著不可忽略的作用。如果想了解更多優秀的前端資料,建議收藏下前端英文網站匯總這個網站,收錄了國外一些優質的博客及其視頻資料。 前言 寫文章是一個短期收益少,長期收益很大的一件事情,人們總是高估短期收益,低估長期收益。往往是很多人堅持不下來,特別是寫文章的初期,剛寫完文章沒有人閱讀會有一種挫敗感,影響了后期創作。 從某種意義上說,...

    ddongjian0000 評論0 收藏0
  • 寫技術博客那點事

    摘要:從現在開始,養成寫技術博客的習慣,或許可以在你的職業生涯發揮著不可忽略的作用。如果想了解更多優秀的前端資料,建議收藏下前端英文網站匯總這個網站,收錄了國外一些優質的博客及其視頻資料。 前言 寫文章是一個短期收益少,長期收益很大的一件事情,人們總是高估短期收益,低估長期收益。往往是很多人堅持不下來,特別是寫文章的初期,剛寫完文章沒有人閱讀會有一種挫敗感,影響了后期創作。 從某種意義上說,...

    NSFish 評論0 收藏0
  • promise學習(3)

    摘要:此時,由于只有一個的狀態能夠確定,所以執行的是唯一那個確定狀態的函數,而不會執行其他的,但是并不會阻止其他的執行。在實際應用中,常用來設置超時操作,比如接口請求超時等。思考這個其實并不是矛盾,接受的是返回的的狀態,與原來的沒有關系。 原文地址 Promise.race // `delay`毫秒后執行resolve function timerPromisefy(delay) { ...

    阿羅 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<