1
coolicer OP 可以在路由切换结束的时候清掉吗?
我已经不用这种方法,让用户 自己点击的时候获取算了。但是想知道怎么解决这个。 |
2
lyric 2014-07-30 16:15:42 +08:00
我以前做法是专门做一个单例 Daemon 来处理所有定时请求,暴露 register 和 unregister 接口给 controller,controller 销毁时 unregister 掉。
|
3
Tonni 2014-07-30 16:17:31 +08:00
我前段时间用Angular写过些代码,感觉封装太深了,还是Backbone + marionette灵活些。
|
5
terrortang 2014-07-30 16:34:05 +08:00
监听routeChangeStart?然后里面把timeout cancel掉?
|
6
coolicer OP @terrortang 我只是这样想,不知道能不能。
|
7
coolicer OP 如果是这样,变量要挂$rootScope了?
@terrortang |
8
lyric 2014-07-30 16:40:49 +08:00
@coolicer 很简单啊,还要伪代码。daemon 内部有一个 {} 去记录定时任务的参数、回调。 register 写入这个{},返回 {} 的 key 作为 handler;unregister 时传 handler 进去,delete [handler];
另外我还有一个 update 方法去更新定时任务的参数。 daemon 内部有一个 loop,每次用 setTimeout 触发启动,loop 中按照每个定时任务的参数执行,并执行回调函数。 |
9
Anran 2014-07-30 16:52:09 +08:00 1
使用自带的 $timeout, 然后监听 $destroy 事件
https://docs.angularjs.org/api/ng/type/$rootScope.Scope |