【问题标题】:CycleJS HTTP request$ not firing requestsCycleJS HTTP request$ 没有触发请求
【发布时间】:2016-04-05 23:40:16
【问题描述】:

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

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

我在这里做错了什么?

谢谢。

【问题讨论】:

    标签: cyclejs


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-18
      • 2019-10-21
      相关资源
      最近更新 更多