是否有可能在运算符内部返回新的可观察项,嵌套可观察项
is it possible to return new observable inside operator, nested observable
var url = "http://domain.com/some/url";
// this endpoint will return websocket URL
Rx.DOM.ajax({
url: url,
method: 'GET',
responseType: 'json'
}).scan(function(o, data) {
// data.websocker is websocker url
return Rx.DOM.fromWebSocket(data.websocket_url, null, function(o) {
console.log(o);
}, function(o) {
console.log(o);
});
}).subscribe(function(data) {
// Success Message
console.log(data);
}, function(error) {
// Log the error
console.log(error);
});
如上面的例子所示。有可能像承诺一样从运营商内部发送Observable吗?
当然,这是非常常见的,并且存在许多运算符以各种方式处理内部可观测值。在本例中,可以使用flatMap
而不是scan
:
var url = "http://domain.com/some/url";
// this endpoint will return websocket URL
Rx.DOM.ajax({
url: url,
method: 'GET',
responseType: 'json'
}).flatMap(function (data) {
// data.websocker is websocker url
return Rx.DOM.fromWebSocket(data.websocket_url, null, function(o) {
console.log(o);
}, function(o) {
console.log(o);
});
}).subscribe(function(data) {
// will receive messages that are received from the websocket
console.log(data);
}, function(error) {
// Log the error
console.log(error);
});
相关文章:
- 用嵌套函数和默认函数定义函数
- 如何在ReactJS JSX中执行嵌套的if-else语句
- 可以简化嵌套的延迟Q Promises解析吗
- 用于搜索的聚合物嵌套绑定
- 如何使用javascript获取嵌套对象中所有子对象的单个属性
- d3中堆栈函数和嵌套函数之间的差异
- 如何打印嵌套对象的所有值
- JavaScript 中的嵌套函数和 “this” 关键字
- 设置嵌套对象属性的更好方法
- querySelector/getElementByClassName嵌套项的顺序
- 将js对象更改为使用嵌套的可观察数组敲除js视图模型
- Knockoutjs观察嵌套对象并订阅更改
- 剑道模板使用嵌套/多维可观察
- 嵌套在 KnockoutJS 中可观察
- 挖空嵌套模型可观察数组未定义
- 是否有可能在运算符内部返回新的可观察项,嵌套可观察项
- Angular 2 rxjs的嵌套观察对象
- 扁平化嵌套的可观察对象
- 如何在Angular 2中平面化嵌套的可观察对象
- 余烬观察嵌套模型属性