CycleJS HTTP请求$不触发请求

时间:2016-04-05 23:40:17

标签: 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));

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

我在这里做错了什么?

感谢。

1 个答案:

答案 0 :(得分:3)

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

这将在未来版本的Cycle.js中发生变化,但是,所有请求都会很急切,你不会看到这个问题。