在 JSContext 中暂停/停止评估脚本

Posted

技术标签:

【中文标题】在 JSContext 中暂停/停止评估脚本【英文标题】:Pausing / Stopping evaluateScript in JSContext 【发布时间】:2018-05-11 09:04:59 【问题描述】:

是否可以暂停和恢复,甚至只是停止 evaluateScript 函数。这在我的应用程序中很有用,因为一些正在评估的 JS 代码可能需要一段时间才能执行,并且用户可能想要去做其他事情,然后稍后再回到相同的状态。

示例代码

let jsSource = "some javascript code"
let context = JSContext()
context?.evaluateScript(jsSource)

我想要什么

context.pause()
context.resume()
context.stop()

【问题讨论】:

【参考方案1】:

您可能希望使用Promise API、async, await API 或Callback functions 等待您的函数完成,然后执行另一段代码。您不能在 JavaScript 中暂停、停止、恢复。

【讨论】:

以上是关于在 JSContext 中暂停/停止评估脚本的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS 中停止 JSContext 评估?

获取字符串的值类型(JSContext evaluateScript)

shell脚本中怎么实现:暂停,按键继续?

shell脚本中怎么实现:暂停,按键继续?

js中怎么让程序暂停一段时间

如何停止/冻结/暂停波动的 RAND / RANDBETWEEN / RANDARRAY?