class MyPromise{
constructor(fn){
this.queue = []
this.succ_res = null
this.fail_res = null
this.status = 'pending'
fn((...args) => {//resolve
this.succ_res = args
this.status = 'fulfilled'
this.queue.forEach((json) => {
json.fn1(...args)
})
},(...args) => {//reject
this.fail_res = args
this.status = 'rejected'
this.queue.forEach((json) => {
json.fn2(...args)
})
})
}
then(fn1,fn2){
if(this.status === 'fulfilled'){
fn1(...this.succ_res)
}else if(this.status === 'rejected'){
fn2(...this.fail_res)
}else{
this.queue.push({fn1,fn2})
}
}
}
MyPromise.all = function(arr){
let result = []
return new MyPromise(function(resolve,reject){
let i = 0
next()
function next(){
arr[i].then(function(res){
result.push(res)
i++
if(i == arr.length){
resolve(result)
}else{
next()
}
},reject)
}
})
}
let mp = new MyPromise(function(resolve,reject){
setTimeout(function(){
resolve(12)
},500)
})
mp.then(function (num){
console.log(num);
}, function (){
alert('錯(cuò)誤')
})
let mp1 = new MyPromise(function(resolve,reject){
setTimeout(function(){
resolve(233)
},800)
})
MyPromise.all([mp,mp1]).then(function(arr){
let [res1,res2] = arr
console.log(res1)
console.log(res2)
},function(error){
console.log(error)
})
promise的簡(jiǎn)單實(shí)現(xiàn)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)虫几,“玉大人锤灿,你說(shuō)我怎么就攤上這事×玖常” “怎么了衡招?”我有些...
- 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)每强。 經(jīng)常有香客問我始腾,道長(zhǎng),這世上最難降的妖魔是什么空执? 我笑而不...
- 正文 為了忘掉前任浪箭,我火速辦了婚禮,結(jié)果婚禮上辨绊,老公的妹妹穿的比我還像新娘奶栖。我一直安慰自己,他們只是感情好门坷,可當(dāng)我...
- 文/花漫 我一把揭開白布宣鄙。 她就那樣靜靜地躺著,像睡著了一般默蚌。 火紅的嫁衣襯著肌膚如雪冻晤。 梳的紋絲不亂的頭發(fā)上,一...
- 那天绸吸,我揣著相機(jī)與錄音鼻弧,去河邊找鬼。 笑死锦茁,一個(gè)胖子當(dāng)著我的面吹牛攘轩,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播码俩,決...
- 文/蒼蘭香墨 我猛地睜開眼度帮,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了稿存?” 一聲冷哼從身側(cè)響起笨篷,我...
- 序言:老撾萬(wàn)榮一對(duì)情侶失蹤甫菠,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后冕屯,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡拂苹,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年安聘,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瓢棒。...
- 正文 年R本政府宣布连霉,位于F島的核電站榴芳,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏跺撼。R本人自食惡果不足惜窟感,卻給世界環(huán)境...
- 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望歉井。 院中可真熱鬧柿祈,春花似錦、人聲如沸哩至。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)菩貌。三九已至卢佣,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間箭阶,已是汗流浹背珠漂。 一陣腳步聲響...
- 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像冈敛,于是被迫代替她去往敵國(guó)和親待笑。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- MyPromise的簡(jiǎn)單偽實(shí)現(xiàn) Promise對(duì)象表示一個(gè)異步操作的最終結(jié)果抓谴,用來(lái)傳遞異步傳輸?shù)臄?shù)據(jù)暮蹂。實(shí)現(xiàn)Prom...
- 利用nodejs的event模塊寞缝,可以實(shí)現(xiàn)一個(gè)最簡(jiǎn)單的Promise/Deferred框架: Promise De...
- 那一年我離婚了之(四)——我這么好的女人,你是不是瞎了<(中)“然后呢生闲,然后呢?”嘉慧像極了一個(gè)急于聽故事的孩子月幌,...
- 今晚跪腹,閨女是最后一個(gè)到家的,坐托輔的車回來(lái)都七點(diǎn)了飞醉,一進(jìn)門就說(shuō):我是最后一個(gè)到家的冲茸?今天我是最晚的?我說(shuō)嗯嗯缅帘。她啊...