CycleJS HTTP request$ 未触发请求

标签 cyclejs

CycleJS 的新手,我正在尝试从 HTTP 驱动程序读取一些数据,并在用户进行更改时写入数据。我有以下内容:

初始请求只是一个简单的 GET。

const initialRequest$ = Observable.just({url: ...});

根据一些捕获的用户意图,我更新模型并创建(或至少尝试创建)一个 PATCH 请求来更新远程数据。

const patchRequests$ = intent$
    .withLatestFrom(model$, (intent, model) => {
        const payload = ... // get payload from model and intent
        return {
            url: `my/url/${target}`,
            method: 'PATCH',
            send: {
                // payload...
            },
        };
    });

然后我将流合并在一起:

const request$ = Observable.merge(initialRequest$, patchRequests$);

并将 request$ 返回给 HTTP 驱动程序。

我的初始请求进展顺利,我在 HTTP 源流中获取了数据。但补丁永远不会触发。

我可以使用以下内容订阅 request$:

request$.subscribe((req) => console.log(req));

我会看到我的初始请求和补丁请求全部记录到控制台。但补丁请求仍然从未发送。

我在这里做错了什么?

谢谢。

最佳答案

eager: true作为请求对象的属性之一。否则,HTTP 驱动程序会忽略应用程序中没有相应响应 $ 等待的请求。

这将在 Cycle.js 的 future 版本中发生变化,不过,所有请求都将是急切的,您不会看到这个问题。

关于CycleJS HTTP request$ 未触发请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36438957/

相关文章:

javascript - 为什么我的同构 Cycle.js 应用程序在服务器上渲染时会导致 xstream 异常?

javascript - 如何使用 CycleJS 将 html 插入 iframe

javascript - Cyclejs 和 xstream 不显示任何内容

cyclejs - Cycle.js 添加加载指示器后 HTTP 发送多个请求

javascript - 使用 SystemJS 加载 CycleJS

javascript - 如何在 cycle.js 中将表单字段重置为默认值

zurb-foundation - 在 Cycle.js 中呈现所有 dom 后运行 js 代码

javascript - 如何在 Cycle.js 中捕捉键盘事件?

javascript - Cycle.js 在单击按钮时获取输入值