Как вы можете видеть, я создал список асинхронного метода. Внутри асинхронного метода в цикле я помещаю некоторое сообщение клиентом mqtt в брокер:
const example2 = async () => {
await push();
await push();
};
const push = async () => {
for (var i = 0; i < 2000; i++) {
client.publish(topic, message, pushOptions);
}
}
var syncList = [];
const startpushing = () => {
if (client.connected & client2.connected & client3.connected & client4.connected & client5.connected) {
console.log(`start pushing`);
syncList.push(
example2(), example3(), example4(),...);
Promise.all(syncList)
.then(() => {
console.log(topic_finished);
client5.publish(topic_finished, "true", pushOptions);
}).catch(err => {
console.log(err);
});
}
}
Я хочу после выполнения всех асинхронных методов, которые я нажимаюНовая тема для брокера, поэтому я использовал Promise.all
.
Но я не знаю, почему console.log(topic_finished)
выполняется вскоре, когда список моих задач еще не закончен?
Я думаю, это потому, что я ничего не возвращаю измой асинхронный метод?Правильно?Но что мне вернуть?