Node.js中的PHP die()
等效什麼?什麼是Node.js中的PHP die()
回答
process.exit()
是等效呼叫。
我會用throw
。拋出會導致當前的請求結束,並且不會終止節點進程。您可以使用錯誤視圖捕獲輸出。
throw new Error('your die message here');
'throw'與'process.exit()'相比的優點是IMO有一個錯誤信息。缺點(或者,有時候是一個優點),就是它可能在某個地方被捕獲。因此,我不認爲它是一個「die()」等價物,但是作爲許多應用程序應該考慮的用例的替代方案。 –
此投票結果!我寧願'拋出',並按順序獲取我的'catch',而不是讓整個Web服務器受到影響。 – AvadData
@AvadData這顯然取決於你的用例。這個問題顯然是等同於'die()',而'throw'將等同於'throw' ... –
它需要到stderr(而不是輸出)和退出有一個非零狀態報告中死亡()...
function die (errMsg)
{
if (errMsg)
console.error(errMsg);
process.exit(1);
}
如果不是在一個功能,您可以使用:
return;
但你也可以使用的@UliKöhler建議:
process.exit();
存在着一定差別:
return
結束更優美。process.exit()
更突然。return
沒有設置退出碼,就像process.exit()
一樣。
實施例:
try {
process.exitCode = 1;
return 2;
}
finally {
console.log('ending it...'); // this is shown
}
這將打印控制檯和出口上ending it...
,退出代碼1.
try {
process.exitCode = 1;
process.exit(2);
}
finally {
console.log('ending it...'); // this is not shown
}
這將打印控制檯和退出,退出代碼2上什麼都沒有。
- 1. 什麼是使用Node.js的與PHP
- 2. 在PHP中,PHP die()返回
- 3. 什麼是Node.js的
- 4. 什麼是Node.js的
- 5. 什麼是Node.js的
- 6. PHP die mysqli error
- 7. 在PHP中,爲什麼「或die()」工作,但「或返回」不?
- 8. 在Node.js中,什麼是「on」?
- 9. jquery ajax和php die()
- 10. 什麼是Node.js的包
- 11. 爲什麼php在die()後繼續解釋;
- 12. wait-die和wound-wait有什麼區別?
- 13. node.js中'[,params_name]'的含義是什麼?
- 14. Node.js中的Upsert - IF IFIST是什麼?
- 15. node.js中的$ _SERVER ['SERVER_ADDR'']是什麼?
- 16. 什麼是sitemap node.js模塊中的cacheTime?
- 17. node.js中的節點究竟是什麼?
- 18. php中的「or」是什麼意思?
- 19. 格式die();在PHP中的消息
- 20. 什麼是PHP中的參數?
- 21. 是什麼讓node.js SlowBuffers「慢」?
- 22. node.js requirejs模塊是什麼
- 23. 什麼是node.js模塊?
- 24. 什麼是PHP中的「:」?
- 25. PHP中的$$是什麼?
- 26. 什麼是PHP中的$ stmt
- 27. 什麼是PHP中的realpath_cache?
- 28. 什麼是PHP中的[object]?
- 29. 什麼是PHP中的類?
- 30. Rails相當於php die()?
它們不等價。 PHP的'die()'不會像Node.js的process.exit()那樣終止服務器,它只會停止終止文件中剩餘的代碼。不幸的是,沒有相應的東西。 –
@MMiller這是部分錯誤,因爲PHP具有完全不同的體系結構。 PHP源自CGI,在這種情況下(即執行CGI腳本的單個進程),它似乎與我完全相同,因爲它會停止進程。我認爲FCGI和類似的技術僅僅是作爲優化而不是關於這個問題的改變者。因此,我認爲你的問題很挑剔,並不能反映IMO的現實問題。非常相似,你可以說在反向代理背後運行多個supervisord啓動的note實例會使得process.exit()不會停止服務器。 –
如果你不在函數中,你也可以使用'return'。但是有一些差異。查看我的答案瞭解更多詳情。 @MMiller我認爲這可能更符合你的意思? –