亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Promise對象

Promise對象

楊__羊羊 2018-12-12 15:14:37
在不使用Promise對象,僅使用簡單的回調函數來實現異步操作時(如setTimeout),JavaScript引擎(主線程)都會依賴于瀏覽器的其他線程(如定時觸發線程)來并發的執行異步任務的第一個階段,當第一個階段結束時,返回結果并將作為異步任務的第二個階段的回調函數推送入消息隊列中,依靠Event Loop讓主線程讀取執行,那么,使用Promise對象時,Promise對象是否就像是一個代理,瀏覽器的輔助線程首先將異步任務第一階段的結果傳遞給Promise對象,并改變Promise對象的狀態,然后通過Promise對象將異步任務比一階段執行的結果傳遞給調用之前通過then()或catch()為異步任務第二個階段注冊的回調函數,從而來執行異步任務的第二階段?那么通過then()或catch()注冊的回調函數也會進入消息隊列中嗎?瀏覽器是不是也有一個線程來管理Promise對象,就像瀏覽器的HTTP異步請求線程來管理Ajax一樣?是不是使用Promise后,更加繁瑣了?對于Promise的本質還是沒有弄清,有沒有大神能夠形象的講解一下Promise到底和普通的回調函數實現異步有那些區別.....不勝感激
查看完整描述

1 回答

?
Qyouu

TA貢獻1786條經驗 獲得超11個贊

有沒有大神能夠形象的講解一下Promise到底和普通的回調函數實現異步有那些區別.

沒區別,它就是一個工具性質的封裝。跟你定義一個函數來封裝重復用到的邏輯一樣。


查看完整回答
反對 回復 2019-01-23
  • 1 回答
  • 0 關注
  • 526 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號