I have got this.
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);
}
}
});
});
}
I need to request data for each item in database. So, I created a chain of promises for that.
I am requesting data of an api that has 5 sec of cooldown. So, I need wait 5 sec until resolve next promise in Promise.all(promises).
How Can I setTimeout between each promise in Promise.all ?