...多數(shù)公司,都會(huì)問(wèn)一些關(guān)于Promise的問(wèn)題。如果你能根據(jù)PromiseA+的規(guī)范,寫出符合規(guī)范的源碼,那么我想,對(duì)于面試中的Promise相關(guān)的問(wèn)題,都能夠給出比較完美的答案。 我的建議是,對(duì)照規(guī)范多寫幾次實(shí)現(xiàn),也許第一遍的時(shí)候,...
...d = [];//成功的回調(diào) self.onRejected = []; //失敗的回調(diào) //PromiseA+ 2.1 function resolve(value) { if (self.status === PENDING) { self.status = FULFILLED; self.value...
...有兩個(gè)參數(shù),resolve、reject。 我們可以這樣子實(shí)現(xiàn): class PromiseA { constructor(executor) { const resolve = value => { this.resolve(value); }; const reject = err => { ...
...的resolve參數(shù),即B的狀態(tài)會(huì)追隨A。 如下代碼所示: const promiseA = new Promise((resolve) => { setTimeout(() => { resolve(ccc) }, 3000) }) const promiseB = new Promise(res => { res(promiseA) }) promiseB.then...
今天我們來(lái)自己手寫一個(gè)符合PromiseA+規(guī)范的Promise庫(kù)。大家是不是很激動(dòng)呢?? 才沒(méi)有。。 我們都知道。在現(xiàn)在的前端開(kāi)發(fā)中,Promise這個(gè)東西基本上所有的開(kāi)發(fā)中都會(huì)用到。 那必然有些萌新就會(huì)問(wèn)了,Promise到底是個(gè)什么...
...看我上一篇文章。。 文章地址:一步一步實(shí)現(xiàn)一個(gè)符合PromiseA+規(guī)范的Promise庫(kù)(1) 問(wèn)題一:then方法的鏈?zhǔn)秸{(diào)用 我們都知道,一個(gè)Promise是可以在其中再次返回Promise的(當(dāng)然也可以返回一個(gè)普通的值)。而且呢,返回的Promise或者...
Promise 手寫一個(gè)PromiseA+的實(shí)現(xiàn)。注意這里只是模擬,實(shí)際上原生的promise在事件隊(duì)列中屬于microTask。這里用setTimeout模擬不是特別恰當(dāng)。因?yàn)閟etTimeout是一個(gè)macroTask。 1. 最簡(jiǎn)單的基本功能 /** * 定義Promise * 先實(shí)現(xiàn)一個(gè)最簡(jiǎn)單的。...
如何寫一個(gè)符合promiseA+規(guī)范的promise實(shí)現(xiàn) 前言 Promise 是異步編程的一種解決方案:從語(yǔ)法上講,promise是一個(gè)對(duì)象,從它可以獲取異步操作的消息;從本意上講,它是承諾,承諾它過(guò)一段時(shí)間會(huì)給你一個(gè)結(jié)果。promise有三種狀態(tài)...
...一個(gè)Promise去更深的了解Promise的原理,首先我們了解一下PromiseA+,它是一種規(guī)范,用來(lái)約束大家寫的Promise方法的,為了讓大家寫的Promise杜絕一些錯(cuò)誤,按照我們所期望的流程來(lái)走,因此就出現(xiàn)了PromiseA+規(guī)范。 Promise特點(diǎn) 我們根...
...S6原生promise的例子: //第一步:實(shí)例化一個(gè)Promise對(duì)象 let promiseA = new Promise(function(resolve, reject){ if(true){ resolve({name: nana, age: 19}); }else{ reject({code: 222, message: hehe}); } }...
...根據(jù)then回調(diào)的運(yùn)行結(jié)果來(lái)決定。 如果resCb/rejCb返回一個(gè)promiseA,then返回的promise需要跟隨(adopt)promiseA,也就是說(shuō),需要保持和promiseA一樣的status和value。 this.resolveListeners.push((val) => { try { const x = resCb(val) ...
... be registered.So new tasks may be created.Below are two new created tasks:promiseA.then()s callback is a taskpromiseA is resolved/rejected: the task will be pushed into microtask queue in current...
... } }, 2000) return defer.promise; } var promiseA = first(); promiseA.then(function(result) { // $timeout(function() { console.log(second,...
... } }, 2000) return defer.promise; } var promiseA = first(); promiseA.then(function(result) { // $timeout(function() { console.log(second,...
ChatGPT和Sora等AI大模型應(yīng)用,將AI大模型和算力需求的熱度不斷帶上新的臺(tái)階。哪里可以獲得...
一、活動(dòng)亮點(diǎn):全球31個(gè)節(jié)點(diǎn)覆蓋 + 線路升級(jí),跨境業(yè)務(wù)福音!爆款云主機(jī)0.5折起:香港、海外多節(jié)點(diǎn)...
大模型的訓(xùn)練用4090是不合適的,但推理(inference/serving)用4090不能說(shuō)合適,...