,所以我有创造的诺言时,我做了一定URL的请求一个循环:添加延迟承诺
for (let j = 1; j < nbRequest; j++)
{
const currentPromise = new Promise((resolve, reject) => {
request(
`someUrl${j}`,
(error, response, body) => {
if(error || !response) {
console.log("Error: " + error);
}
console.log("Status code: " + response.statusCode + ", Connected to the page");
var $ = cheerio.load(body);
let output = {
ranks: [],
names: [],
numbers: [],
};
//some stuff to do
console.log("HERE 1");
return resolve(output);
}
);
});
promises.push(currentPromise);
}
之后,我写我的承诺,结果在一个CSV文件:
Promise.all(promises).then((outputs) => {
console.log('Request received');
let ranks;
let names;
let numbers;
outputs.forEach((output) => {
ranks = _.concat(ranks, output.ranks);
names = _.concat(names, output.names);
numbers = _.concat(numbers, output.numbers);
});
for (i = 0; i < ranks.length; i++)
{
writer.write({Rang: ranks[i], Nom: names[i] , Nombre: numbers[i]});
}
});
但问题在于:我愿意在每个承诺之间添加延迟。 有什么想法?
会这样的帮助 https://www.npmjs.com/package/delay-promise – Anirudh