创建一个Observable对象:
var observable = Rx.Observable.create(function (observer) {
observer.next(1);
observer.next(2);
observer.next(3);
setTimeout(() => {
observer.next(4);
observer.complete();
}, 1000);
});
订阅获取数据
console.log('just before subscribe');
observable.subscribe({
next: x => console.log('got value ' + x),
error: err => console.error('something wrong occurred: ' + err),
complete: () => console.log('done'),
});
console.log('just after subscribe');
实例
function getData(param){
return Observable.create(observer => {
this.http.post(ParamsConfig.SERVER_URL, JSON.stringify(param), options)
.subscribe(res => {
var svc = (<ParamsData>res.json()).svcCont;
if (svc.resultCode == "9") {
ctrl.setRoot("OthLoginPage");
} else {
observer.next(svc);
}
},error2 => {
console.log(error2)
})
}, err => {
console.log(err)
});
}
取值:
this.getData(params).subscribe({
next: x => console.log('got value ' + x),
error: err => console.error('something wrong occurred: ' + err),
complete: () => console.log('done'),
});