我不确定此Javascript代码中的操作顺序:
suite.parallel([
suite.it('makes stuff 1', function (done) {
done();
}),
suite.it('makes stuff 2', function (done) {
done();
})
]);
首先评估每个数组元素(先运行it()
函数吗?)或先运行suite.parallel
函数?
不幸的是,这是更大代码库的一部分,我很难对其进行测试。
我的半受教育的猜测是元素首先评估,我不能看到它是另一种方式。
答案 0 :(得分:2)
如Grammar中所述,它首先从左到右评估内部函数,或者在您的示例中,首先评估内部函数。
答案 1 :(得分:2)
在JavaScript中,在调用函数之前,始终会完全评估参数。否则它非常严格地从左到右。
所以一步一步发生的是
suite.parallel
被评估为方法参考[…]
suite.it
被评估为方法参考然而,这并没有说明何时调用那些回调函数(带有done
参数)。所有这些suite
方法都可以启动一些异步计算,当它们这样做时,只需查看一下它们的文档即可告诉您何时会发生什么。