Javascript 如何在几个承诺的中间设定超时时间?
我使用的是node/express,我需要设置一个很长的超时时间,以天为单位,在许多承诺中测量 我的代码如下:Javascript 如何在几个承诺的中间设定超时时间?,javascript,node.js,express,timeout,promise,Javascript,Node.js,Express,Timeout,Promise,我使用的是node/express,我需要设置一个很长的超时时间,以天为单位,在许多承诺中测量 我的代码如下: .then(function(thing){ setTimeout(function(thing), 5000) .then(function() { //do something else 在StimeTimeUT的中间,所有功能都运行得很好,包括超时功能,但超时被完全忽略。为了迭代的目的,我将超时时间改为5秒,而不是几天。如果您使用的是Parse,我想您可以做出如下自定义承诺 f
.then(function(thing){
setTimeout(function(thing), 5000)
.then(function() {
//do something else
在StimeTimeUT的中间,所有功能都运行得很好,包括超时功能,但超时被完全忽略。为了迭代的目的,我将超时时间改为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() {
...
你在使用Promise图书馆吗?它可能有一个助手功能我没有,但我确实安装了Q/Q。这是我唯一需要它的地方,我真的不知道如何使用Q,也不知道它是否有帮助函数;有没有更简单的方法?如果你不使用Q,那么你是如何创造承诺的?谢谢。很久以前我就对Parse失去了信心,但我只是尝试了一下,它确实奏效了!一开始,我担心我所做的可能是反模式的,但据我所知,上面的代码是可以接受的。是的,当用于“承诺”某事时,创建承诺不是反模式的。在这里,你是在承诺一个超时,所以没关系。