我正在学习Rx.js,zip
操作员有一个问题:
var error =Rx.Observable.throw('Oop!');
var age$ = Rx.Observable.concat(Rx.Observable.of(21,22,23),error);
var sex$ = Rx.Observable.of("male","male","female","female");
var name$ = Rx.Observable.of("jack","john","james","lucy");
var example = Rx.Observable.zip(age$,sex$,name$,(age,sex,name)=>{ return {age,sex,name} });
Run Code Online (Sandbox Code Playgroud)
我订阅了example
源并打印了一些消息:
example.subscribe({
next: (value) => { console.log(value); },
error: (err) => { console.log('Error: ' + err); },
complete: () => { console.log('complete'); }
});
Run Code Online (Sandbox Code Playgroud)
输出不是我期望的:
{age:21,sex:"male",name:"jack"}
{age:22,sex:"male",name:"john"}
{age:23,sex:"female",name:"james"}
error
Run Code Online (Sandbox Code Playgroud)
但只有一行with no value output
:
error
Run Code Online (Sandbox Code Playgroud)
阅读官方文档,但在zip
操作人员退出时没有解释任何章节error
。
任何人都可以帮忙吗?