如果运行时间太长,则中止功能执行

时间:2016-03-29 00:37:18

标签: javascript

如果JavaScript函数耗时太长,你可以中止吗?如果是这样,怎么样?

即。我调用同步doStuff(),如果它没有在规定的时间内返回,它就会中止并继续执行,就像它确实返回一样。

1 个答案:

答案 0 :(得分:2)

您不能使用同步代码执行此操作(除非您从该函数内的代码中退出同步函数)。但是你可以使用promises以优雅的方式实现你想要的东西。它类似于异步调用函数,并且由于分辨率是异步的,因此可以在超时后中断。请参阅how promises work on MSDNDavid Walsh blogon promisejs。后者还有一些关于中断承诺的例子(参见Promise.race代码)。如果你搜索它,互联网上有很多信息。