根据下面的代码测试在当前 node 的版本中效率相差太大,并且由于 electron 自身的通信机制也是基于 callback 的,所以改造起来也比较麻烦,所以放弃了这个计划。
/**
* Created by fuhuixiang on 16/10/28.
*/
"use strict";
function testCallback(arg, cb) {
for (let i = 0; i < 100; i++) {
arg += arg;
}
cb(arg);
}
function testPromise(arg) {
for (let i = 0; i < 100; i++) {
arg += arg;
}
return new Promise((resolve, reject)=> {
reject('err');
resolve(arg);
});
}
console.time('test');
let result = '';
for (let i = 0; i < 10000; i++) {
testCallback(1, (data)=>{
result += data;
});
// testPromise(1).then((data)=>{
// result += data;
// }).catch((err)=>{});
}
console.timeEnd('test');
原因:
根据下面的代码测试在当前 node 的版本中效率相差太大,并且由于 electron 自身的通信机制也是基于 callback 的,所以改造起来也比较麻烦,所以放弃了这个计划。
测试代码:
测试结果: