Я пытаюсь выполнить асинхронную операцию до завершения моего процесса.Как выполнить операцию async при выходе
поговорке 'прекращено' Я имею в виду все возможности прекращения:
ctrl+c
- неперехваченным исключение
- Crashes
- Конец кода
- Anything ..
Для мои знания exit
это делает, но для синхронных операций.
Читая документы Nodejs я нашел beforeExit
события для операций асинхронных НО:
события «beforeExit» не излучается для условий, вызывающим явного прекращение, например, вызов
process.exit()
или пойманных исключений.«beforeExit» не следует использовать в качестве альтернативы событию «выход», если только не намерено планировать дополнительную работу.
Любые предложения?
Как насчет того, чтобы поместить весь код в отдельный файл (например, afterExit.js) и когда произойдет событие выхода, запустите 'require ('child_process'). Exec ('node afterExit.js');', это просто мысль, хотя – Molda
@Molda эй снова, я некоторое время оставил эту проблему и теперь вернулся к работе, решил использовать и внешний скрипт, который будет выполнен, как вы предложили, будет простым решением, но я столкнулся с непониманием того, как пройти любой переменные для этого скрипта, так как этот код «afterExit» зависит от состояния родителя, любая помощь будет высоко оценена! –
Вы можете передать некоторые переменные в качестве параметров, например. 'exec ('node afterExit.js some_param some_other_param');' и затем получить доступ к 'process.args' или создать файл json с требуемыми данными и передать путь к этому файлу в ваш скрипт и загрузить этот файл из afterExit.js – Molda