繁体   English   中英

Processing.js睡眠

[英]Processing.js sleep

我想在javascript / processing.js中编写sleep()函数。 即:一个可中断程序流达许多秒的函数。

  1. 很明显,如何通过“忙碌等待”来执行此操作,但是这往往会降低浏览器的速度并导致无法使用

  2. 我知道“睡眠”不是很好的javascript。 我希望此功能用于教学目的(帮助孩子理解他们的代码),而不是用于生产用途。

  3. 由于这是一定要讲的话,所以显式回调太复杂了。 调用函数应该像在bash或php中一样简单-但是,我们可以使用最不可思议的东西,只要它们保持隐藏在sleep函数中(包括processing.js技巧)即可

  4. 我知道一个问题,sleep()的JavaScript版本是什么? ,但仍然希望能有一个hacking来停止processing.js(或者是一个真正的javascript解决方案,尽管可能建议不正确)

  5. 这个函数应该在draw()循环之外工作-如果它也在内部循环工作,那是一个好处

如果相关,此功能应在可汗学院使用

很明显,如何通过“忙碌等待”来执行此操作,但是这往往会降低浏览器的速度并导致无法使用

因为JavaScript是单线程的,所以sleep()函数也将导致此行为。

由于这是一定要讲的话,所以显式回调太复杂了。

您几乎已经回答了自己的问题:如果不使用回调或忙于等待,就无法在JavaScript中执行sleep()函数。

您可能考虑使用Java模式显示sleep() ,但这听起来很忙。

以我的拙见,即使您可以找到骇客入睡的方法,这对于孩子来说也不是一个好例子,因为他们的代码永远不会这样做。 他们更有可能尝试渲染太多对象。 如果您试图证明在draw()函数内执行过多操作会很不好,那么为什么不让他们在draw()函数内执行过多操作呢? 教他们关于循环的知识,然后让他们看看绘制100个矩形(或1000个或1,000,000个)会发生什么!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM