如何在多个承诺的中间设置超时?

时间:2015-04-30 06:02:57

标签: javascript node.js express timeout promise

我使用node / express,我需要在许多承诺中设置一个非常长的超时时间。

我的代码就像:

.then(function(thing){
setTimeout(function(thing), 5000)
.then(function() {
//do something else

在setTimeout中间包含函数之前和之后,一切都运行得很好但是超时被完全忽略了。出于迭代的目的,我为那些聪明的人做了超时5秒而不是几天。

1 个答案:

答案 0 :(得分:1)

如果你正在使用Parse,我想你可以制定一个像...这样的自定义承诺。

function pWaiter(time){
    var promise = new Parse.Promise();
    setTimeout(function(){
        promise.resolve();
    }, time);
    return promise;
}

并使用它:

...
.then(function(thing){
    return pWaiter(5000);
}).then(function() {
...