如何在 skulpt 中停止脚本

How to stop a script in skulpt

我为我的学生做了一个雕塑项目。每次他们进行无限循环时,浏览器就会崩溃,代码就会消失。这对学生来说是非常令人沮丧的。我在 https://trinket.io/python 上看到一个停止按钮,但不明白他们是怎么做到的。 我按照 http://www.skulpt.org/ 上的说明将 skulpt 集成到我的网站中。

有什么想法吗?

没有特别详细的记录 - 您可以将某些选项添加到 Sk.configure,其中之一是 execLimit in ms.

例如来自示例 http://skulpt.org/using.html

Sk.configure({output:outf, read:builtinRead, execLimit: 5000}); 

如果达到 execLimit,Skulpt 将提出 TimeLimitError


关于取消按钮 - 有一个额外的设置 yieldLimit,您可以在 ms 中进行设置。这基本上会每隔一段时间暂停一次执行。你可以添加一个处理程序来处理这个暂停。

同样没有被 Skulpt 很好地记录,但是这里有一个 JS Fiddle 是概念证明:

https://jsfiddle.net/bjLuq5s7/