CycleJS HTTP 请求 $ 不触发请求
CycleJS HTTP request$ not firing requests
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$);
和 return request$
到 HTTP 驱动程序。
我的初始请求顺利通过,并且我在 HTTP 源流中获得了数据。但是补丁永远不会触发。
我可以通过以下方式订阅 request$
:
request$.subscribe((req) => console.log(req));
我会看到我的初始请求和补丁请求都记录到控制台。但是仍然没有发送补丁请求。
我在这里做错了什么?
谢谢。
将eager: true
作为请求对象的属性之一。否则,HTTP 驱动程序将忽略在应用程序中没有相应响应$等待它的请求。
这将在 Cycle.js 的未来版本中改变,不过,所有请求都是急切的,您不会看到这个问题。
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$);
和 return request$
到 HTTP 驱动程序。
我的初始请求顺利通过,并且我在 HTTP 源流中获得了数据。但是补丁永远不会触发。
我可以通过以下方式订阅 request$
:
request$.subscribe((req) => console.log(req));
我会看到我的初始请求和补丁请求都记录到控制台。但是仍然没有发送补丁请求。
我在这里做错了什么?
谢谢。
将eager: true
作为请求对象的属性之一。否则,HTTP 驱动程序将忽略在应用程序中没有相应响应$等待它的请求。
这将在 Cycle.js 的未来版本中改变,不过,所有请求都是急切的,您不会看到这个问题。