2016-06-10 33 views
0

riot observable不能在递归函数中工作?riot observable不能在递归函数中工作

事件不能连续发射

plunker:ijOIsQMSt37wqAvIFGx6

<body> 
    <h1>Hello Plunker!</h1> 
    <script> 
     var o = riot.observable(); 
      o.on('foo', function(done){ 
      console.log('receive.'); 
      done(); 
     }) 
     function recur(){ 
     o.trigger('foo', recur) 
     } 
     recur(); 
</script> 

我怎么能做到这一点?

回答

0

riot.observable将busy标记添加到传递给trigger直到完成调用的函数。 这可能是为了防止事件触发另一个事件导致的无限循环。

所以你不能在递归函数中使用可观测的暴乱。