通过可观察到可观察的学习

从那以后,我已经重写了这篇文章,并将其移至我的个人博客:

可观察的只是一个函数,该函数占据观察者并返回函数

形状:

目的:

基本实施:

功能myObservable(观察者){
const dataSource = new DataSource();
datasource.ondata =(e)=> observer.next(e);
datasource.onerror =(err)=> observer.error(err);
datasource.oncomplete =()=> observer.complete();
return()=> {
datasource.destroy();
};
}

安全的观察者:使观察者再次出色

观察者保证

功能myObservable(观察者){
const safeObserver = new SafeObserver(观察者);
const dataSource = new DataSource();
datasource.ondata =(e)=> safeObserver.next(e);
datasource.onerror =(err)=> safeobserver.error(err);
datasource.oncomplete =()=> safeobserver.complete();

safeobserver.unsub =()=> {
datasource.destroy();
};

return safeObserver.unsubscribe.bind(safeObserver);
}

设计可观察:人体工程学观察者安全

const myobservable = new observable((观察者)=> {
const dataSource = new DataSource();
datasource.ondata =(e)=> observer.next(e);
datasource.onerror =(err)=> observer.error(err);
datasource.oncomplete =()=> observer.complete();
return()=> {
datasource.destroy();
};
});

操作员:也只有功能

功能图(源,项目){
返回新的观察值((观察者)=> {
const mapobserver = {
下一步:(x)=> observer.next(project(x)),
错误:(err)=> observer.error(err),
完成:()=> observer.complete()
};
return source.subscribe(mapObserver);
});
}

设计可观察:使操作员连锁店变得漂亮

地图(MAP(MyObservable,(x)=> x + 1),(x)=> x + 2);
管道(MyObservable,Map(X => X + 1),MAP(X => X + 2));
myObservable.map(x => x + 1).map(x => x + 2);
observable.prototype.map = function(project){
返回新的观察值((观察者)=> {
const mapobserver = {
下一步:(x)=> observer.next(project(x)),
错误:(err)=> observer.error(err),
完成:()=> observer.complete()
};
返回this.subscribe(mapObserver);
});
};

TLDR:可观察物是一个函数,可以使用观察者并返回函数

- -

- -

RXJS铅。观点是我自己的

喜欢播客还是有声读物?在我们的新应用程序中学习。

获取中型应用betway娱乐官网

一个说“在应用商店上下载”的按钮,如果单击,它将带您到iOS App Store
一个说“获取它,Google Play”的按钮,如果单击它,它将带您到Google Play商店
Baidu