当前位置: 首页 > 知识库问答 >
问题:

我如何用回调度量JavaScript代码的执行时间?

萧萧迟
2023-03-14

我使用node.js解释器执行了一段JavaScript代码。

for(var i = 1; i < LIMIT; i++) {
  var user = {
    id: i,
    name: "MongoUser [" + i + "]"
  };
  db.users.save(user, function(err, saved) {
    if(err || !saved) {
      console.log("Error");
    } else {
      console.log("Saved");
    }
  });
}

如何度量这些数据库插入操作所花费的时间?我可以计算这段代码之后和之前的日期值的差值,但这是不正确的,因为代码的异步性质。

共有1个答案

年凯康
2023-03-14

使用node.jsconsole.time()console.timeend():

var i;
console.time("dbsave");

for(i = 1; i < LIMIT; i++){
    db.users.save({id : i, name : "MongoUser [" + i + "]"}, end);
}

end = function(err, saved) {
    console.log(( err || !saved )?"Error":"Saved");
    if(--i === 1){console.timeEnd("dbsave");}
};
 类似资料:
  • 问题内容: 我有一段使用解释器执行的JavaScript代码。 如何测量这些数据库插入操作所花费的时间?我可以计算这段代码前后的日期值之差,但是由于代码的异步特性,这将是不正确的。 问题答案: 使用Node.js 和:

  • 问题内容: 我正在尝试加载GeoJSON文件并使用它作为D3 v5 的基础绘制一些图形。 问题在于浏览器正在跳过调用中包含的所有内容。我尝试插入断点进行测试,但是浏览器跳过了它们,我无法弄清原因。 下面的代码段。 该代码从最初的继续,但是我忽略了所有代码,因为我怀疑问题在于调用本身。 问题答案: 签名已经改为从D3V4到V5。它已从现已弃用的模块d3请求移至新的d3提取模块。从v5开始,D3使用F

  • 问题内容: 如果可以的话,如何在Wicket的JavaScript代码中调用Java代码(例如方法)。 问题答案: 呃 正确的答案应该是ajax回调。您可以手动将js编码为挂钩到wicket js,也可以在java中通过wicket组件设置回调。例如,从AjaxLazyLoadPanel中: 本示例说明如何将回调代码添加到Wicket中的任何组件。在浏览器中触发OnDomReady事件后,加载页面

  • 我用的是JavaFX。 当某个文件没有加载时,我希望阶段关闭,该实例中的代码停止执行。

  • 问题内容: 我正在使用Angular JavaScript进行概念验证。 如何在不同的浏览器(Firefox和Chrome)中调试Angular JavaScript代码? 问题答案: 1.镀铬 对于 chrome中的 AngularJS调试,您可以使用 AngularJS Batarang 。(从最近对该插件的评论来看,似乎不再维护AngularJS Batarang。在各种版本的chrome中

  • 用代码度量和提取方法模式进行目的明确的重构 在 追求代码质量 的前一期中,学习了如何用代码度量客观地测量代码质量。这个月,Andrew Glover 将介绍如何使用相同的度量方法和提取方法模式进行有针对性的重构。 在我上中学的时候,有一位英语教师说:“写作就是重写别人已经 重写过的东西。” 直到大学,我才真正理解了他这句话的意思。而且,当我自觉地采用这个实践的时候,就开始喜欢上了写作。我开始为我写