Я реализовал собственную функцию, которая выполняет обратный вызов. NodeJS знает интерфейс, но он ничего не знает о его реализации. Эта нативная функция получает обратный вызов и будет вызывать его, когда результат будет готов. Я не хочу, чтобы цикл цикла был завершен, пока обратный вызов не был вызван.
В настоящее время мне нужно сделать некоторые операции ввода-вывода (даже если это немой тайм-аут), чтобы заставить NodeJS ждать моей функции.
В Boost.Asio Я просто создаю объект work
и уничтожаю его, когда вызывается обратный вызов. Цикл событий Boost.Asio не выходил, пока этот объект хранится. Есть ли аналогичный подход для NodeJS? Что я использую в NodeJS (бонус, если ваш ответ не упоминает таймеры)?