Я пытаюсь сделать так, чтобы был пул, который сидит на сервере, всегда ожидая запроса от клиента.Затем, когда клиент выполняет действие, добавьте это действие в пул массивов, выполните обработку на сервере и удалите его из пула после завершения обработки.
Я пытался использовать async.eachlimit, однако всякий раз, когдаЯ поместил элементы в массив, ничего не происходит.Я также на базовом уровне использовал генераторы es6 согласно этому https://github.com/caolan/async/issues/1551,, хотя не понимаю их достаточно, чтобы заставить его работать.
let tasksPool = [];
let processTask = async function(task) {
// await etc
}
eachLimit(tasksPool, 5, function(task, callback) {
processTask(task).then(() => {
callback();
});
});
app.get('/some-url', (req, res) => {
tasksPool.push(req.body.task);
});
Но он не перезапускает процесс eachLimit, когда я что-то добавляю в массив.Я хочу, чтобы eachLimit эффективно отслеживал изменения в массиве.Хотелось бы мне понять, что происходит с вашим примером, достаточно, чтобы решить это самостоятельно, хотя раньше я не видел много синтаксиса.
Я ожидаю, что при добавлении элементов в пул каждый предел будет выполнять новые элементы, добавленные в массив.
Любые предложения очень ценятся?