J'ai ceci.Résolvez une chaîne de promesses avec des délais d'expiration. Promise.all
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);
}
}
});
});
}
J'ai besoin de demander des données pour chaque élément dans la base de données. Donc, j'ai créé une chaîne de promesses pour cela.
Je demande des données d'un API qui a 5 sec de cooldown. Donc, j'ai besoin d'attendre 5 secondes avant de résoudre la promesse suivante en Promise.all (promet).
Comment puis-je définir setTimeout entre chaque promesse dans Promise.all?
C'est une mauvaise idée, une question, pourquoi vous avez besoin d'un compte à rebours de 5 secondes entre promesses? quelque chose sur l'accès à la base de données – Kalamarico
@Kalamarico Api que Im utilisant a 5 sec de cooldown. –