【发布时间】:2017-06-15 10:20:48
【问题描述】:
以间隔执行重复(无限)异步作业的最优雅的方式(Calmm stack, Kefir, Karet Utils etc.)是什么?
我想get 每2000ms 一个json。
示例 1(2000ms 间隔):
- 获取 json(
get需要 100 毫秒) - 处理json
- 等待间隔剩余的时间,然后从步骤 1 重新开始
示例 2(2000 毫秒间隔)
- 获取 json(
get需要 5000 毫秒) - 处理json
- 等到第 1 步和第 2 步完成后再从第 1 步开始
简而言之,我想重复gets(或任何异步工作)并在请求之间至少等待2000ms。
我不希望在前一个请求以某种方式完成(成功、失败、超时)之前触发下一个请求。
【问题讨论】:
-
只是好奇,什么是“冷静”?或者 Kefir,或者 Karet Utils?
-
这是关于
Angular和RXJS但主要概念是完全一样的,所以,我认为这里已经回答了:stackoverflow.com/questions/44540703/… -
@evolutionxbox 你可以在这里查看平静github.com/calmm-js/documentation/blob/master/…
-
@evolutionxbox Calmm 是一个功能性的反应式 JavaScript 框架/工具集,习惯性地与 React 结合使用,但也可以与 preact 和可能的其他 vdom 库一起使用。 Calmm 可以将 observables 直接嵌入到 vdom 中。 Calmm 工具集由几个库组成,包括 partial.lenses(一个功能性镜头库)和 karet.util(基于 Kefir 的 observables 实用程序库,包括一些 Ramda)。 Kefir 是一个 observables(流和属性)库。 Ramda 是一个流行的库,它促进了函数式编程风格。
标签: javascript asynchronous reactive-programming kefir.js calmm