This repository has been archived by the owner on Sep 25, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2.9k
建议:Handler返回的是函数,pomelo-loader会多次执行该函数,建议只执行一次! #1167
Comments
pomelo\lib\common\service\handlerService.js你看看这个服务内代码 |
你自己改成这样不就完了. |
@wangkunmeng 看代码干啥,直接测试就能看到一直调用。 |
只是执行了两次,启动一次,加载一次。 |
同一个类型服务器只调用2次,但是别的服务器类型为了rpc远程调用,启动时也会调用该module.exports。所以会执行很多次! 如果该函数有大量运算或文件读写,就需要判断服务器类型,并且使用 @whtiehack 的写法。 let handler; |
除handle所在服务器,只有connector会去,new其他的服务器的handler. 这是为了远程调用,但是这也没有多次执行该函数,一个connector只是执行一个而已, 疑惑, |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
module.exports = function(app) {
return new Handler(app);
};
这个是demo的写法,如果该Handler需要读取文件,项目会多次创建Handler并且多次读取文件,导致性能下降。
程序员自己写逻辑难免出现这种问题,
建议:从底层防范,让module.exports永远执行一次。
The text was updated successfully, but these errors were encountered: