2

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));

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

我在这里做错了什么?

谢谢。

4

1 回答 1

3

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

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

于 2016-04-06T07:56:28.887 回答