你如何在几个承诺中间设置超时?
How do you set timeout in the middle of several promises?
我正在使用 node/express,我需要在许多承诺中设置一个以天为单位的非常长的超时。
我的代码是这样的:
.then(function(thing){
setTimeout(function(thing), 5000)
.then(function() {
//do something else
在 setTimeout 中间包括函数之前和之后一切都运行良好,但超时被完全忽略。为了迭代的目的,我将超时设置为 5 秒而不是任何聪明人的几天。
如果您使用的是 Parse,我想您可以做出自定义承诺,例如...
function pWaiter(time){
var promise = new Parse.Promise();
setTimeout(function(){
promise.resolve();
}, time);
return promise;
}
并像这样使用它:
...
.then(function(thing){
return pWaiter(5000);
}).then(function() {
...
我正在使用 node/express,我需要在许多承诺中设置一个以天为单位的非常长的超时。
我的代码是这样的:
.then(function(thing){
setTimeout(function(thing), 5000)
.then(function() {
//do something else
在 setTimeout 中间包括函数之前和之后一切都运行良好,但超时被完全忽略。为了迭代的目的,我将超时设置为 5 秒而不是任何聪明人的几天。
如果您使用的是 Parse,我想您可以做出自定义承诺,例如...
function pWaiter(time){
var promise = new Parse.Promise();
setTimeout(function(){
promise.resolve();
}, time);
return promise;
}
并像这样使用它:
...
.then(function(thing){
return pWaiter(5000);
}).then(function() {
...