javascript承诺调度多功能

javascript承诺调度多功能,javascript,promise,Javascript,Promise,如何使用promise schedule多功能,我是否必须使其像2那样嵌套回调? 在服务器端,我使用nodejs和co生成生成器, 然后让它看起来像下面这样 co(function *() { yield q1(); yield q2(); yield q3(); ... promise是否有类似的语法方式 var q1 = function() { return new Promise(function (fulfill, reject){ setTimeout(f

如何使用promise schedule多功能,我是否必须使其像
2
那样嵌套回调?
在服务器端,我使用
nodejs
co
生成生成器, 然后让它看起来像下面这样

co(function *() {
  yield q1();
  yield q2();
  yield q3();
 ...
promise是否有类似的语法方式

var q1 = function() {
  return new Promise(function (fulfill, reject){
    setTimeout(function(){ 
      fulfill(console.log('q1'));
    }, 100);

  });
};

var q2 = function() {
  return new Promise(function (fulfill, reject){
    setTimeout(function(){ 
      fulfill(console.log('q2'));
    }, 100);

  });
};

var q3 = function() {
console.log("done!");
};
一,

二,


将承诺从随后的回调中返回

var q1=函数(){
返回新承诺(功能(履行、拒绝){
setTimeout(函数(){
snippet.log('q1')
实现();
}, 1000);
});
};
var q2=函数(){
返回新承诺(功能(履行、拒绝){
setTimeout(函数(){
snippet.log('q2')
实现();
}, 1000);
});
};
var q3=函数(){
log(“完成!”);
};
q1()。然后(函数(){
返回q2();
}).然后(函数(){
q3();
});

从随后的回调中返回承诺

var q1=函数(){
返回新承诺(功能(履行、拒绝){
setTimeout(函数(){
snippet.log('q1')
实现();
}, 1000);
});
};
var q2=函数(){
返回新承诺(功能(履行、拒绝){
setTimeout(函数(){
snippet.log('q2')
实现();
}, 1000);
});
};
var q3=函数(){
log(“完成!”);
};
q1()。然后(函数(){
返回q2();
}).然后(函数(){
q3();
});

从随后的回调中返回承诺

var q1=函数(){
返回新承诺(功能(履行、拒绝){
setTimeout(函数(){
snippet.log('q1')
实现();
}, 1000);
});
};
var q2=函数(){
返回新承诺(功能(履行、拒绝){
setTimeout(函数(){
snippet.log('q2')
实现();
}, 1000);
});
};
var q3=函数(){
log(“完成!”);
};
q1()。然后(函数(){
返回q2();
}).然后(函数(){
q3();
});

从随后的回调中返回承诺

var q1=函数(){
返回新承诺(功能(履行、拒绝){
setTimeout(函数(){
snippet.log('q1')
实现();
}, 1000);
});
};
var q2=函数(){
返回新承诺(功能(履行、拒绝){
setTimeout(函数(){
snippet.log('q2')
实现();
}, 1000);
});
};
var q3=函数(){
log(“完成!”);
};
q1()。然后(函数(){
返回q2();
}).然后(函数(){
q3();
});

使用您拥有的代码,您可以简单地执行此操作

q1().then(q2).then(q3);

有了这些代码,您就可以简单地做到这一点

q1().then(q2).then(q3);

有了这些代码,您就可以简单地做到这一点

q1().then(q2).then(q3);

有了这些代码,您就可以简单地做到这一点

q1().then(q2).then(q3);

在使用co和生成器语法的服务器端,您已经在使用承诺了吗?为什么这不令人满意?在服务器端使用co和generator语法时,您已经在使用promises了?为什么这不令人满意?在服务器端使用co和generator语法时,您已经在使用promises了?为什么这不令人满意?在服务器端使用co和generator语法时,您已经在使用promises了?为什么这不令人满意?