对于CycleJS,我尝试从HTTP驱动程序中读取一些数据,并在用户进行更改时将其写入。我有以下几点:
初始请求只是一个简单的获取。
const initialRequest$ = Observable.just({url: ...});基于某些捕获的用户意图,我更新我的模型并创建(或至少尝试创建)一个补丁请求来更新远程数据。
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));我将看到我的初始请求和补丁请求全部登录到控制台。但是补丁请求从未被发送过。
我在这里做错什么了?
谢谢。
发布于 2016-04-06 07:56:28
将eager: true作为请求对象的属性之一。否则,HTTP驱动程序将忽略在应用程序中没有相应响应$等待它的请求。
但是,在Cycle.js的未来版本中,这将发生变化,所有的请求都会非常迫切,您不会看到这个问题。
https://stackoverflow.com/questions/36438957
复制相似问题