Promise.race = function(promises){
return new Promise((resolve,reject)=>{
for(let i=0;i<promises.length;i++){
if(!isPromise(promises[i])){
console.log('123456');
return promises[i];
}
}
for(let i=0;i<promises.length;i++){
if(isPromise(promises[i])){
return promises[i].then(resolve,reject);
}
}
})
}
//注:isPromise 只是用来判断是不是一个 promise
手动实现简单的promise及Promise.all()、Promise.race()Promise的原理 Promise其实内部也有一个defers队列存放事件,.then的事件就在里面,程序开始执行的时候,.then就已经放入下一个事件,然后后面当异步操作...