我想在10秒后停止从调用者执行函数,例如:
let done = false
setTimeout(() => {
if (!done) throw new Error('Function timeout')
}, 10000)
await someClientCodeHere()
done = true
如果有什么等待(例如在任务队列/优先级队列上),此代码将起作用,但是如果我在someClientCodeHere
中放入for循环,则此代码将不起作用。
我的问题是:Is there anyway to stop a function that is on callStack?