Очередь вызовов узла-всадника

1

Я разрабатываю веб-скребок (на ранних этапах), и я планирую сделать х всадников. Эти вызовы основаны на обещаниях, но я хочу, чтобы звонки были последовательно, когда один заканчивается, следующий начинается.

Как я могу достичь такого поведения?

Теги:
web-scraping
node-horseman

1 ответ

0
Лучший ответ

Вы можете просто сделать что-то вроде:

asyncCall(args[1]).done(() => asyncCall(args[2]))

Здесь asyncCall - это любая функция, которую вам нужно вызвать. Он принимает некоторые аргументы и возвращает Promise.

Таким образом, вы в основном ожидаете результата одного вызова и затем вызываете второй вызов.

Однако это может стать довольно громоздким, когда есть много вызовов. Если вы используете async/await, что вам нужно, учитывая, что вы работаете над новым проектом, вы можете кодировать его гораздо лучше, например:

await asyncCall(args[1]);
await asyncCall(args[2]);
...

Или, еще лучше:

for (let arg of args) {
    await asyncCall(arg)
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню