當前版本的生命周期都是同步代碼,而且啟動超時默認時間為30s。
所以不建議在生命周期內執行耗時操作。如果確定能在30s秒內搞定,可以搞。
非要執行的話,建議通過如下方式:
在 agent.js 的didLoad生命周期里面去異步請求配置數據,然后把配置數據寫入文件。
在 app 的 config 里面 require 這個文件,再對相應的配置進行覆蓋即可。
為什么可以這么操作?
因為eggjs的啟動過程會加載兩次config文件,一次在agent.js加載之前,一次是在app.js加載之前。