javascript - 如何计算 Nodejs ChildProcess.exec 中的执行时间

标签 javascript node.js parameters execution-time

我们有一个登录用户的 API 请求,如下所示:

...

//lauches an API request

router.post("/trip/analyse",function(req,res){

    t0 = Date.now();

    shell = ("sudo /usr/bin/python /mypythonFile");

    child = exec(shell, function (error, stdout, stderr) {

      if (error) { //There is an error

        res.json({"Error" : true});

        console.log(Date.now() - t0);  // <-------- HERE, How to get this right ?

      }else{ //everything went fine

        res.json({"Error" : false});

        console.log(Date.now() - t0);  // <-------- HERE, How to get this right ?

      }

    });

});
...

我发现打印的执行时间不正确,因为当许多用户同时登录时,用于计算执行时间的“t0”值(“Date.now() - t0”)未正确计算。它使用最近调用此 API 请求的 t0 值,而不是适当的 t0 值。

这是因为 exec 方法是异步的,执行需要时间。

如何正确正确执行时间(“Date.now() - t0”),其中原始 t0 变量丢失?

最佳答案

我只需要把

var t0 = Date.now();

它成功了!

关于javascript - 如何计算 Nodejs ChildProcess.exec 中的执行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43143463/

相关文章:

javascript - 替换第一个括号 - (到最后一个)中所有出现的 ('content' ) 吗?

node.js - Opa 运行在什么后端平台上?

node.js - Intellij NodeJs 6.4.0 意外 token 导出

C++ 位置参数

java - Mockito:使用泛型参数进行验证

javascript - 样式和 JavaScript 不工作

javascript - 访问 Polymer 中的原生 HTML 元素

javascript - 在 ASP.NET Core Razor Pages 中使用 JavaScript 更改事件导航栏链接

node.js - 等待 Facebook Messenger 机器人的短信回复

function - Kotlin-将sortBy参数作为函数参数传递