2014-09-21 66 views
1

我正在查看node.js的文檔:process event exit節點js中進程退出事件的目的是什麼?

當進程即將退出時發出。在這一點上沒有辦法阻止事件循環的退出,並且一旦所有退出監聽器完成運行,該進程將退出。因此,您只能在此處理程序中執行同步操作。這是對模塊狀態執行檢查的好鉤子(比如單元測試)。該回調函數採用一個參數,該進程正在退出的代碼。

基本用法是這樣的:

process.on('exit', function(code) { 
    console.log('About to exit with code:', code); 
}); 

儘管文檔我想不出一個現實生活中的例子,我想這樣做回調裏面的一些單元測試的信息。

我想讓我的應用盡可能健壯。你使用exit事件做什麼?

回答

1

我不認爲這意味着你應該從這個回調運行單元測試,但正在運行的單元測試可能使用此回調檢查是否退出觸發如預期,或告發退出該單元失敗。

2

我使用這個事件在我的應用程序作爲最後掙扎的機會,保存狀態到硬盤中我的應用程序,並把一些硬件我的應用程序所控制的是一個已知的和安全的狀態我的應用程序關閉前。它可以作爲一個逆止因此,無論是什麼原因導致我的應用程序就不行了,我還是有機會清理一些東西。因此,當這個事件被觸發時,我檢查是否存在任何未保存的狀態,如果是,我使用同步I/O將它寫入磁盤(在此事件中無法成功使用異步操作)。然後,我關閉一些硬件我的應用程序的控制。