learnyounode-functional-javascript

Create at 2015 09 242 min read技术JavaScript


fun 坑爹的 CMD 不知怎么回事,在做到倒数第三道题后突然罢工了,不能选择题目,公司和自己的电脑都是这样。 于是最后三道题还是放弃了,也没精力去找那三道题到底是什么了,就这样吧。

做题的过程中有个需要注意的地方,也是在 js 中一个很常用的方法。 那就是被 setTimeout 延迟的函数会等前面函数彻底执行完以后,才会执行,也就是说可以阻塞 js 的进程。如下:

function repeat(operation, num) {
  // modify this so it can be interrupted
  if (num <= 0) return
  operation()
  setTimeout(function () {
    return repeat(operation, --num)
  }, 0)
}
module.exports = repeat

Operation 是一个操作很费时间的函数,如果不用 setTimeout 延迟后面的递归调用的话,就会造成 repeat 函数已经执行完了,但是含有很多个 operation 没有执行完的情况。

其它的到没有什么了,所有代码都放在这里

本文章遵循: CC BY-NC-ND 4.0Creative CommonsAttributionNonCommercialNoDerivatives

非商业转载请注明作者及出处,商业转载请联系 作者本人

本文标题为:learnyounode-functional-javascript

本文链接为:https://blog.kisnows.com/2015/09/24/learnyounode-functional-javascript