【发布时间】:2018-03-18 12:00:08
【问题描述】:
我有这个。
const getPrice = function(database){
return new Promise(function (resolve, reject){
var promises =[];
for(var i in database){
promises.push(Update.requestClassifieds(database[i]))
}
Promise.all(promises)
.then(function(todos){
return resolve(todos);
})
})}
Update.prototype.requestClassifieds = function(item){
var ithis = this;
return new Promise((resolve, reject) => {
var input = {};
request({
url: '',
method: "GET",
json: true,
body: input
}, function (error, response, body){
if (error){
return resolve(item);
}
else if(body){
return resolve(item);
}
}
});
});
}
我需要为数据库中的每个项目请求数据。因此,我为此创建了一系列承诺。
我正在请求具有 5 秒冷却时间的 API 的数据。所以,我需要等待 5 秒,直到解决 Promise.all(promises) 中的下一个承诺。
如何在 Promise.all 中的每个 Promise 之间设置Timeout?
【问题讨论】:
-
这是个坏主意,一个问题,为什么你需要在承诺之间倒计时 5 秒?有关数据库访问的任何信息?
-
@Kalamarico Api 我使用的冷却时间为 5 秒。
标签: javascript node.js request timeout