1、最基本的功能:
function Promise(fn){ this.arr = []; this.then = function(thParam){ thParam(this.arr); //return this; }; var that = this; function resolve(parm){ that.arr.push(parm); console.log(parm) } fn(resolve); } var p1 = new Promise(function(resolve){ resolve("參數(shù)給then"); }); p1.then(function(response){ console.log(response) });
2、鏈式調(diào)用
function Promise(fn){ this.arr = []; this.then = function(paramFun){ var thenParam = paramFun(this.arr[0]); this.arr.splice(0,1,thenParam); return this; }; var that = this; function resolve(parm){ that.arr.push(parm); console.log(parm) } fn(resolve); } var p1 = new Promise(function(resolve){ resolve("參數(shù)給then"); }); p1.then(function(response){ console.log(response) //參數(shù)給then return 1; }).then(function(response){ console.log(response) //1 return 2; }).then(function(response){ console.log(response) //2 });
參考資料:手寫一個Promise
文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/105665.html
摘要:近幾年隨著開發(fā)模式的逐漸成熟,規(guī)范順勢而生,其中就包括提出了規(guī)范,完全改變了異步編程的寫法,讓異步編程變得十分的易于理解。最后,是如此的優(yōu)雅但也只是解決了回調(diào)的深層嵌套的問題,真正簡化異步編程的還是,在端,建議考慮。 本篇,簡單實現(xiàn)一個promise,主要普及promise的用法。 一直以來,JavaScript處理異步都是以callback的方式,在前端開發(fā)領域callback機制...
摘要:簡單實現(xiàn)前言你可能知道,的任務執(zhí)行的模式有兩種同步和異步。你已經(jīng)實現(xiàn)了方法方法是一個很好用的方法。感興趣的朋友可以自行去研究哈附上代碼完整的實現(xiàn)個人博客鏈接 Promise 簡單實現(xiàn) 前言 你可能知道,javascript 的任務執(zhí)行的模式有兩種:同步和異步。 異步模式非常重要,在瀏覽器端,耗時很長的操作(例如 ajax 請求)都應該異步執(zhí)行,避免瀏覽器失去響應。 在異步模式編程中,我...
摘要:實現(xiàn)的一個簡單的如果有錯誤的地方,希望大家能夠不吝賜教僅實現(xiàn)及方法最下方有完整代碼開始一個對象接收的是一個這個接收兩個參數(shù)當我們在內(nèi)執(zhí)行或的時候,就會調(diào)用內(nèi)定義的和函數(shù)然后,和函數(shù)會改變的狀態(tài)所以它應該是像下面這樣的保存值記錄狀態(tài)為,為,為 實現(xiàn)的一個簡單的ES6 Promise(如果有錯誤的地方,希望大家能夠不吝賜教) 僅實現(xiàn)Promise及.then方法最下方有完整代碼 開始 一個...
摘要:在和方法執(zhí)行的時候訂閱事件,將自己的回調(diào)函數(shù)綁定到事件上,屬性是發(fā)布者,一旦它的值發(fā)生改變就發(fā)布事件,執(zhí)行回調(diào)函數(shù)。實現(xiàn)和方法的回調(diào)函數(shù)都是,當滿足條件對象狀態(tài)改變時,這些回調(diào)會被放入隊列。所以我需要在某個變?yōu)闀r,刪除它們綁定的回調(diào)函數(shù)。 前言 按照文檔說明簡單地實現(xiàn) ES6 Promise的各個方法并不難,但是Promise的一些特殊需求實現(xiàn)起來并不簡單,我首先提出一些不好實現(xiàn)或者容...
摘要:近幾年隨著開發(fā)模式的逐漸成熟,規(guī)范順勢而生,其中就包括提出了規(guī)范,完全改變了異步編程的寫法,讓異步編程變得十分的易于理解。最后,是如此的優(yōu)雅但也只是解決了回調(diào)的深層嵌套的問題,真正簡化異步編程的還是,在端,建議考慮。 前段時間頻頻看到Promise這個詞,今天發(fā)現(xiàn)騰訊AlloyTeam寫得這篇很贊,遂轉(zhuǎn)之。 原文鏈接 本篇,主要普及promise的用法。 一直以來,JavaScrip...
摘要:為了降低異步編程的復雜性,所以。難理解請參考的誤區(qū)以及實踐異步編程的模式異步編程的種方法 異步編程 javascript異步編程, web2.0時代比較熱門的編程方式,我們平時碼的時候也或多或少用到,最典型的就是異步ajax,發(fā)送異步請求,綁定回調(diào)函數(shù),請求響應之后調(diào)用指定的回調(diào)函數(shù),沒有阻塞其他代碼的執(zhí)行。還有像setTimeout方法同樣也是異步執(zhí)行回調(diào)的方法。 如果對異步編程...
閱讀 2336·2021-09-30 09:48
閱讀 3693·2021-09-24 10:27
閱讀 1940·2021-09-22 15:32
閱讀 2101·2021-08-09 13:44
閱讀 3659·2019-08-30 15:55
閱讀 1112·2019-08-29 17:12
閱讀 2143·2019-08-29 17:05
閱讀 2985·2019-08-29 13:43