我有一个长的JavaScript函数,我想在某些点上暂停它。我知道可以使用
setTimeout(myFunction, 100)
和clearTimeout()
来实现这一点。但是,我知道在使用setTimeout(myFunction, 100)
后,我的函数将在100毫秒后从第一行开始执行,之后每100毫秒执行一次。我想知道是否可以在函数的第50行暂停函数,然后在该行之后立即恢复执行,也就是在第51行继续执行。这是否可能?
yield
。 - Herrington DarkholmesetTimeout
两次的代码将返回并继续运行。setTimeout
只是计划执行,并不会直接调用或执行任何内容。如果编写其他代码假设这两个部分已经完成,因为函数已经返回,那么就会出现错误。这并不意味着答案错误,而是强调需要学习JavaScript事件循环的工作原理,异步编程是什么,以及JS中为什么没有sleep()
。 - Paul