我为Node.js(v10.13.0)重构了JavaScript代码,该代码先前已使用async / await同步为异步代码。之后,我发现程序执行时间的性能降低了约3倍。
将同步函数调用链转换为异步函数调用时是否会降低性能?
简化示例
更改同步代码
function fn1() {
return 1;
}
function fn2() {
return fn1();
}
(function() {
const result = fn2();
});
转换为异步代码:
async function fn1() {
return 1;
}
async function fn2() {
return await fn1();
}
(async function() {
const result = await fn2();
})();
是否有任何事件循环魔术可以使后者的代码在Node.js Web应用程序中变慢?