摘要:核心代碼為了精簡(jiǎn)代碼,下面的實(shí)現(xiàn)中去掉了代碼校驗(yàn),這樣方便小伙伴看到的核心邏輯?;畈欢嗾f(shuō),直接放代碼返回參數(shù)的傳遞這是的精髓
核心代碼
為了精簡(jiǎn)代碼,下面的Promise實(shí)現(xiàn)中去掉了代碼校驗(yàn),這樣方便小伙伴看到Promise的核心邏輯。ES6語(yǔ)法。
活不多說(shuō),直接放代碼
class PromiseTest { executor = (resolve, reject) => { } constructor(executor) { this.executor = executor; } then(sucess, error) { let flag = true; let resolveV; let rejectV; const resolve = (value) => { flag = true; resolveV = sucess(value); }; const reject = (value) => { flag = false; rejectV = error(value); }; this.executor(resolve, reject); // onfulfilled onrejected返回參數(shù)的傳遞 這是promise的精髓
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/101421.html
摘要:意味著代指的操作由于某些原因失敗。第一步構(gòu)造函數(shù)有三種狀態(tài),。這個(gè)構(gòu)造函數(shù)我們可以先這樣寫創(chuàng)建一個(gè)時(shí),首先進(jìn)行狀態(tài)初始化。所有的都是的,而并不是所有的對(duì)象都是。 一、JavaScript異步編程背景 ? 從去年ES2015發(fā)布至今,已經(jīng)過(guò)去了一年多,ES2015發(fā)布的新的語(yǔ)言特性中最為流行的也就莫過(guò)于Promise了,Promise使得如今JavaScript異步編程如此輕松愜意...
摘要:嗝首先,我們通過(guò)字面可以看出來(lái)是一種解決方案,而且還有兩種傳統(tǒng)的解決方案回調(diào)函數(shù)和事件,,那么我們就來(lái)先聊聊這兩種方案。 前言 雖然今年已經(jīng)18年,但是今天還是要繼續(xù)聊聊ES6的東西,ES6已經(jīng)過(guò)去幾年,可是我們對(duì)于ES6的語(yǔ)法究竟是掌握了什么程度,是了解?會(huì)用?還是精通?相信大家和我一樣都對(duì)自己有著一個(gè)提升的心,對(duì)于新玩具可不能僅僅了解,對(duì)于其中的思想才是最吸引人的,所以接下來(lái)會(huì)通過(guò)...
摘要:總而言之,檢查調(diào)用棧是否為空,以及確定把哪個(gè)異步任務(wù)加入調(diào)用棧的這個(gè)過(guò)程就是事件循環(huán),而實(shí)現(xiàn)異步的核心就是事件循環(huán)。 js是一門單線程的語(yǔ)言,不可能進(jìn)行多線程編程,異步編程就是多線程編程一種模式,但是我們經(jīng)常講到j(luò)s的異步編程,其實(shí)是偽異步,因?yàn)樗菃尉€程的,也就是同步,只有前面的代碼執(zhí)行完才能執(zhí)行下面的代碼。所以要理解js中的異步理念,就需要了解js的運(yùn)行核心--事件循環(huán)(Event...
摘要:那如何使用進(jìn)行異步回調(diào)如何捕獲錯(cuò)誤聲明函數(shù)使用則返回使用則返回錯(cuò)誤,并結(jié)束的繼續(xù)向下執(zhí)行,并會(huì)跳到執(zhí)行過(guò)了秒后接收到值返回值可以是數(shù)字,字串,對(duì)象或者是獲得上一個(gè)返回的值或返回的的返回值如用到,則會(huì)直接跳到此處 promise用法 對(duì)比傳統(tǒng)回調(diào)函數(shù)與Pormise的寫法 傳統(tǒng)回調(diào)函數(shù) // 聲明函數(shù) function run(callback) { let parmas = 0...
摘要:異步函數(shù)是指通過(guò)事件循環(huán)異步執(zhí)行的函數(shù),它會(huì)通過(guò)一個(gè)隱式的返回其結(jié)果。返回值返回對(duì)象的處理結(jié)果。當(dāng)請(qǐng)求必須要請(qǐng)求完成后,才能根據(jù)請(qǐng)求的結(jié)果,進(jìn)行是否繼續(xù)請(qǐng)求的時(shí)候根據(jù)所有請(qǐng)求完成后,進(jìn)行統(tǒng)計(jì)請(qǐng)求成功失敗數(shù)量等異步操作最后的回調(diào) 首先看下這段代碼: async function submit(){ console.log(請(qǐng)求開始!) let data = aw...
閱讀 1958·2021-11-23 09:51
閱讀 1608·2021-11-19 09:40
閱讀 3271·2021-11-11 11:01
閱讀 1217·2021-09-27 13:34
閱讀 1912·2021-09-22 15:56
閱讀 2198·2019-08-30 15:52
閱讀 1132·2019-08-30 14:13
閱讀 3548·2019-08-30 14:10