:어떻게 Nodejs ChildProcess.exec에서 실행 시간을 계산하기 위해 우리는 다음과 같이 우리의 사용자의 로그인 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 ?
}
});
});
...
을 나는 많은 사용자가에 로그인 할 때 때문에 인쇄 실행 시간이 바로 아니라고 볼 같은 시간에 executionTime ("Date.now() - t0")을 계산하는 데 사용되는 "t0"값이 올바르게 계산되지 않습니다. 적절한 t0 값이 아니라이 API 요청의 최근 호출의 t0 값을 사용합니다.
이것은 exec 메서드가 비동기이며 실행하는 데 시간이 걸리기 때문입니다.
원래 t0 변수가 손실 된 실행 시간 ("Date.now() - t0")을 올바르게 수정하는 방법은 무엇입니까?
왜 글로벌 변수입니까? 이것은 아마 당신의 문제를 일으키는 것입니다. 변수 t0 등을 이전에 var를 추가하는 함수로 범위 지정하십시오. – mrdotb
오, 정말 고마워요 !! 그것을 고정! – inconnu26