只有在函数完成执行后才能再次调用它

Call function again only after it finish executing

本文关键字:调用 执行 函数      更新时间:2023-09-26

我有一个函数,每次按下回车键时调用它。我需要使它,以便函数不会被调用,如果你再次按下回车键,如果,当函数还没有完成执行。只有当函数完成执行时,如果再次按enter键,才会再次调用它。我如何在jQuery或JavaScript中做到这一点?

onKeyDown = 'if(event.keyCode==13) someFunction()'
function someFunction() {
//some codes
//some setTimeouts
}

只需在完成时设置一个布尔值,并在执行函数之前检查它。

onKeyDown = 'if(event.keyCode==13) { if (!finished){someFunction();}'
var finished = false;
function someFunction() {
   finished = false
   //some codes
   //some setTimeouts
  finished = true;
}

虽然,正如Luis指出的,Javascript是单线程的,所以你不应该遇到你所描述的问题,除非我没有完全理解你的问题。