【发布时间】:2016-07-31 20:18:50
【问题描述】:
我有两个功能;一个是异步的(testAsync),一个是同步的(testSync)。我正在尝试将它们与 benchmark.js 一起使用。哪个更快,多少。他们都应该抛出一个错误。
我很困惑我应该如何 a) 设置异步测试 b) 确保测试帐户为每个函数抛出错误。
这是我得到的:
import Benchmark from 'benchmark'
var suite = new Benchmark.Suite;
// add tests
suite.add('query validation test sync', function(deferred) {
try {
testSync({'name': 'reggi'});
} catch (e) {
deferred.resolve();
}
})
.add('query validation test async', function(deferred) {
testAsync({'name': 'reggi'}, {})
.then(deferred.resolve)
.catch(deferred.resolve);
})
// add listeners
.on('cycle', function(event) {
console.log(String(event.target));
})
.on('error', function(event) {
console.log(String(event.target));
})
.on('complete', function() {
console.log('Fastest is ' + this.filter('fastest').map('name'));
})
// run async
.run({ 'async': true });
【问题讨论】:
标签: javascript node.js asynchronous error-handling benchmark.js