Допустим, у нас есть функция с именем doSomething()
;
Внутри этой функции я объявляю объект с именем dispatcher
.
dispatcher
имеет функцию, которая работает асинхронно и пропускает событие 'end'
по завершении.
Итак, код выглядит так:
const doSomething = () => {
const dispatcher = someObject.function.thatReturnsDispatcher();
}
Итак, эта doSomething()
функция не совсем бесполезна и на самом деле делает гораздо больше, чем просто присваивает единственная переменная, и я хочу, чтобы этот dispatcher
выполнял те же действия, что и doSomething()
всякий раз, когда его асинхронная функция заканчивается. Поэтому я делаю что-то вроде этого:
const doSomething = async () => {
//important stuff above
const dispatcher = someObject.function.thatReturnsDispatcher();
dispatcher.on('end' , () => {
doSomething();
});
//important stuff below
}
, и это работает!
Но мне интересно одно:
Когда он вызывается, работает ли функция doSomething()
рекурсивно или функция завершается, и узел сохраняет функцию discpatcher.on('end')
и вызывает ее всякий раз, когда событие end
пропускается?