Вы можете использовать простую маленькую функцию, которая возвращает обещание, которое разрешается после задержки:
function delay(t, val) {
return new Promise(function(resolve) {
setTimeout(function() {
resolve(val);
}, t);
});
}
И затем await
, что внутри вашего цикла:
exports.getProducts = async (req, res) => {
let request;
for (let id of productids) {
request = await getProduct(id);
await delay(5000);
}
};
Примечание: я также переключил ваш цикл for
на for/of
, который не требуется, но немного чище, чем у вас.