示例代码:
var isExecutionOver = false,
myFunction = function() {
// does some asynchronous stuff and sets isExecutionOver to true
// when the asynchronous job is over.
};
myFunction();
// Kill myFunction if it takes more than 3 seconds
setTimeout(function() {
if(!isExecutionOver) {
// How do I kill myFunction?
}
}, 3*1000);
myFunction
在上面的片段中,如果它无法在给定的时间内(在这种情况下为 3 秒)完成工作,我试图杀死(或者换句话说,停止执行)。
PS:请假设我无法控制 myFunction 定义。我唯一可以工作的地方就是里面setTimeout
。