Процесс узла не завершается после запуска - PullRequest
0 голосов
/ 20 января 2019

Следующий код должен записывать обратно все, что пользователь вводит:

process.stdin.on('data', blob => {
    process.stdout.write(blob)
})

Действительно, это так, но когда я изменяю on на once, я ожидаю, что скрипт только напишет одну строку и затем завершится:

process.stdin.once('data', blob => {
    process.stdout.write(blob)
})

Тем не менее, он не выходит. Ничего больше не происходит, строки не записываются, но скрипт продолжает работать.

Глядя на документацию once, я ожидаю, что она завершится, поскольку в документации указано:

В следующий раз, когда будет запущен eventName, этот слушатель будет удален и затем вызван.

Не означает ли это, что очередь цикла событий становится пустой?


процесс узла не завершается после firebase один раз кажется уместным, но принятый ответ теперь гласит:

Обратите внимание, что это больше не применимо. Node.js больше не будет зависать при использовании Once (), хотя он будет оставаться открытым, пока есть активные прослушиватели, подписанные на удаленный сервер.

Что здесь не так.

...