1 回答

TA貢獻(xiàn)1775條經(jīng)驗 獲得超11個贊
function f1(){
return new Promise((resolve,reject) =>{
setTimeout(() =>{
resolve(1);
},1000)
})
}
function f2(value){
return new Promise((resolve,reject) =>{
setTimeout(() =>{
resolve(value + 2);
},1000)
})
}
function f3(value){
return new Promise((resolve,reject) =>{
setTimeout(() =>{
resolve(value + 3);
},1000)
})
}
function* test() {
var result=yield f1();
result=yield f2(result);
yield f3(result);
}
function co(fun){
var t=fun();
var result=null;
var _r;
var p=new Promise(function(resole){
_r=resole;
});
function next(data){
var d=t.next(data);
result=data;
if(d.value){
d.value.then(function(data){
next(data);
})
}else{
_r(result);
}
}
next();
return p;
}
co(test).then(console.log);
不是co嗎
添加回答
舉報