当前版本的生命周期都是同步代码,而且启动超时默认时间为30s。
所以不建议在生命周期内执行耗时操作。如果确定能在30s秒内搞定,可以搞。
非要执行的话,建议通过如下方式:
在 agent.js 的didLoad生命周期里面去异步请求配置数据,然后把配置数据写入文件。
在 app 的 config 里面 require 这个文件,再对相应的配置进行覆盖即可。
为什么可以这么操作?
因为eggjs的启动过程会加载两次config文件,一次在agent.js加载之前,一次是在app.js加载之前。