异步并行限制崩溃
async parallel Limit crashing
我正在尝试使用异步并行限制,但每次我使用它时它似乎就停止了。
并且在第一次迭代后不再继续。我希望它一直持续到数组完成我该怎么做?
const parallelLimit = require("async/parallelLimit");
async function publishMessage(data) {
const messageId = await pubSubClient
.topic(topicName)
.publishJSON(data)
.catch((err) => console.log(err));
console.log(messageId);
}
messages = messages.flat();
let promises = messages.map((row) => {
return () => publishMessage(row);
});
await parallelLimit(promises, 4000);
您需要将一组异步函数传递给 parallelLimit()。
const parallelLimit = require("async/parallelLimit");
function publishMessage(data) {
return async function () {
try {
const messageId = await pubSubClient.topic(topicName).publishJSON(data);
console.log(messageId);
} catch (err) {
throw err;
}
};
}
const asyncFuncs = messages.flat().map(row => publishMessage(row));
(async function run() {
try {
await parallelLimit(asyncFuncs, 4000);
} catch (err) {
console.log(err);
}
})();
我正在尝试使用异步并行限制,但每次我使用它时它似乎就停止了。 并且在第一次迭代后不再继续。我希望它一直持续到数组完成我该怎么做?
const parallelLimit = require("async/parallelLimit");
async function publishMessage(data) {
const messageId = await pubSubClient
.topic(topicName)
.publishJSON(data)
.catch((err) => console.log(err));
console.log(messageId);
}
messages = messages.flat();
let promises = messages.map((row) => {
return () => publishMessage(row);
});
await parallelLimit(promises, 4000);
您需要将一组异步函数传递给 parallelLimit()。
const parallelLimit = require("async/parallelLimit");
function publishMessage(data) {
return async function () {
try {
const messageId = await pubSubClient.topic(topicName).publishJSON(data);
console.log(messageId);
} catch (err) {
throw err;
}
};
}
const asyncFuncs = messages.flat().map(row => publishMessage(row));
(async function run() {
try {
await parallelLimit(asyncFuncs, 4000);
} catch (err) {
console.log(err);
}
})();