В настоящее время я пытаюсь добавить некоторые функции в существующее веб-приложение, написанное на JavaScript.Моя проблема в том, что я хочу вызвать функцию, которая снова вызывает некоторые асинхронные функции, и хочу выполнить функцию не раньше, чем будут выполнены все другие функции.
Функция, которую я вызываю, не принимает обратного вызова итакже не возвращает обещание (что, конечно, очень плохая практика).
Я мог бы реорганизовать существующие функции так, чтобы вызываемая мной функция возвращала обещание, но это потребовало бы много времени иусилия.
Таким образом, идеальным решением для меня была бы техника, которая позволяет мне ждать, пока будет вызвана функция, которую я вызову, и все функции, которые затем снова будут вызваны этой функцией.
Другой приемлемый вариант будеттехника, которая позволяет мне выполнять функцию после выполнения всех асинхронных функций.
Итак, переводя это на простой пример, я хотел бы выполнить функцию после того, как функция doSomethingAsync
была выполнена без изменения этой функции.
var doSomethingAsync = () => {
setTimeout(() => { console.log("do Something Async") }, 1000);
};
// do something after doSomethingAsync has been executed ...
Я пытался использовать функцию setTimeout () и ноль миллисекунд, но это не работает, поскольку она выполняется до функции doSomethingAsync
, и я знаю, что в этом простом примере.
Есть много вариантов выполнения чего-либо после doSomethingAsync
, но мне нужна техника, которая позволяет мне выполнять что-то после doSomethingAsync
без изменения этой функции.
Любые советы приветствуются.