Tag: 可观察

RxJS方法导致callback地狱

我想在下面的用例中使用ReactiveJS Observable方法。 IF MAIN_CACHE EXIST RETURN OUTPUT ELSE IF DB CONNECTION EXIST CACHE MAIN_CACHE (1 Hour) CACHE FALLBACK_CACHE (3 Days) RETURN OUTPUT ELSE IF FALLBACK_CACHE EXIST RETURN OUTPUT 我得到了预期的输出,但我觉得这导致了Callback Hell ,我认为,仍然不是一个好的方法,我错过了ReactiveJS Observable关键好处。 下面是我的代码,整个代码在JS Bin Link中 mainCache.subscribe(function (response) { console.log(response); }, function (error) { dbData.subscribe(function (response) { console.log(response); }, function (error) { console.log('DB CAL Log info', […]

如何用RxJS编写简单的元stream

背景 这是我第一次尝试反应式编程。 我有一个不时接收数据缓冲区的stream。 当一个缓冲区以02开始时,意味着一个消息的开始,当它以03结束时,意味着消息的结束。 例: – – – 02 53 44 5a – – – 52 6a 72 7a – – – 62 32 62 0d – 0a 03 – – – – > 目的 我的目标是每次检测到一个消息完成时发出一个事件,以整个消息作为参数。 研究 阅读了几个关于响应式编程和阅读RxJS的 教程之后,我知道我想创build一个热门的可观察 。 通过我的研究,我相信我想要创造一个“元观察”或“元stream”,即可观察到的可观察到的stream或溪stream(可能是这样的混淆……)。 我的计划如下: 1 – 为所有进入2的缓冲区消息创build一个观测值 – 订阅步骤1,并创build一个观测值,检测消息的开始( 02 )和消息的结束( 03 )3 – 为步骤2订阅一些内容将照顾的数据。 所以,我的图如下所示: – […]

RxJs如何观察对象属性的变化

我遇到了一个问题。 我有一个客户端,实例化具有布尔属性。 我想等到它切换到真,然后解决承诺。 我尝试了很多不同的方法,包括while循环,只是完全阻塞线程而不检查更新。 这是尝试 var startClient = function() { return new Promise((resolve, reject)=> { var client = CreateClient(); while(!client.ready) {} resolve(client); }); }; 我的问题是:有没有办法使用RxJs帮助..也许发射和事件,如果就绪属性更改? 下面是我想要做的更伪代码。 var startClient = function() { return new Promise((resolve, reject)=> { var client = CreateClient(); var emitter = Observable.watch(client, 'ready'); emitter.on('ready', function(result) { if(result) resolve(client); }); }; 有什么build议么? 谢谢!