原文:使用TypeScript手寫Promise(通過官方872個測試)

說明 這篇筆記不會詳細講關於Promise的使用,可以去看我的另一篇博客你不知道的JavaScript 異步編程 中 Promise 編寫的Promise遵循Promise A 規范,可以通過promises aplus test的全部 個單元測試。 本篇筆記是一邊編寫代碼一邊記錄的,所以代碼的可讀性上可能不是太好,在寫完之后花了一點時間優化代碼,所以如果有看不懂的地方可以考慮對比最終的代碼倉庫: ...

2021-11-17 15:37 0 907 推薦指數:

查看詳情

手寫一個Promise/A+,完美通過官方872測試用例

前段時間我用兩篇文章深入講解了異步的概念和Event Loop的底層原理,然后還講了一種自己實現異步的發布訂閱模式: setTimeout和setImmediate到底誰先執行,本文讓你徹底理解Event Loop 從發布訂閱模式入讀懂Node.js的EventEmitter源碼 本文會講 ...

Wed Apr 08 23:47:00 CST 2020 0 1616
手寫promise

promise規范 1、當實例化Promise時會立即執行 2、已經是成功態或是失敗態不可再更新狀態 3、讓Promise支持異步 我們可以參照發布訂閱模式,在執行then方法時如果還在等待態(pending),就把回調函數臨時寄存到一個數組里,當狀態發生改變時 ...

Sun May 10 19:51:00 CST 2020 0 637
由淺入深,從掌握Promise的基本使用到手寫Promise

由淺入深,從掌握Promise的基本使用到手寫Promise 前言 在ES6之前,對於一些異步任務的處理始終沒有很好的方案可以解決,處理異步的方案可謂是十分混亂,在業務需求下異步請求的套用,就形成了回調地獄,嚴重影響代碼的閱讀性。而Promise的出現,給我們統一了規范,解決了之前處理異步任務 ...

Mon Apr 04 01:33:00 CST 2022 1 912
手寫Promise原理

我的promise能實現什么? 1:解決回調地獄,實現異步 2:可以鏈式調用,可以嵌套調用 3:有等待態到成功態的方法,有等待態到失敗態的方法 4:可以衍生出周邊的方法,如Promise.resolve(),Promise.reject(),Promise ...

Fri Mar 13 23:16:00 CST 2020 2 724
手寫一個promise

promise是什么? promise是一個解決回調地獄的函數,是一個強大的異步回調方案。es6將其弄可以直接使用! 我們知道promise中共有三種狀態 pending 過渡態fulfilled 完成態rejected 失敗態 簡單 的 promise就實現了 ...

Thu Jul 18 18:16:00 CST 2019 3 1682
基於promise a+規范手寫promisepromise其實沒那么難!)

一、promise解決了哪些問題? 異步並發 待所有異步任務結束之后再執行我們的業務邏輯。 回調嵌套 二、promise特點 1. 每個promise都有三個狀態,pending等待狀態 fulfilled成功態 rejected失敗態 2. 狀態不可 ...

Thu Aug 26 17:09:00 CST 2021 0 93
手寫Promise A+ 規范

基於ES6語法手寫promise A+ 規范,源碼實現 ...

Fri Dec 06 01:42:00 CST 2019 3 240
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM