[英]How to cancel sails.js lift with a hook
提起Sails.js應用程序時,我需要使用Promise執行某些初始化任務。
如果這些任務以任何方式失敗,則該應用程序不應繼續提升,而必須記錄一個錯誤。 另外,這些任務可能不會在有限的預定義時間內完成(請參見hook定義 )。
但是,鈎子系統僅在鈎子成功完成后才允許調用cb(),並且似乎沒有任何方法可以使應用程序運行:
有什么辦法嗎?
首先,如果初始化任務特定於您的應用程序,則您可以僅使用引導程序而不是掛鈎。 以錯誤作為參數調用引導程序回調將導致Sails紓困。
如果一定要使用鈎子,你可以強制帆退出在幾乎相同的方式-從內調用回調函數initialize
與任何非空參數掛鈎的方法將信號故障,並導致帆退出。 通常,Node應用程序就是這種情況:任何時候您都希望調用回調時,傳遞非null值作為第一個參數將表示錯誤。
因此,如果鈎子的initialize
啟動了您需要運行的任務,並且直到它們全部完成后才調用cb()
,並且在任務失敗的任何時候調用cb(<some error>)
,那么您將有這樣一種情況,Sails將在鈎子完成之前才加載,並且在鈎子無法完成其任務時會退出。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.