Typescript 为什么我们想要一个特定类型的可观察对象 //声明可观察 可观察的 //实例化oberservale somenums:新的可观测(somefunc)

Typescript 为什么我们想要一个特定类型的可观察对象 //声明可观察 可观察的 //实例化oberservale somenums:新的可观测(somefunc),typescript,rxjs,angular-observable,Typescript,Rxjs,Angular Observable,为什么我要声明一个具有特定类型的可观察对象。 将observable作为类型number[]是否表示IsObservable将向观察者返回一个数字[]? 在实例化期间和实例化之后,如何将数据流传输到可观察对象? 在这种情况下,观察者将如何处理流。键入观察者 可观察对象的类型告诉您传递给观察者的next回调函数的对象的类型。除此之外,可观测对象可以发出完成或错误事件(决不能同时发出这两种事件) 键入Observable的原因与键入数组或函数的返回值的原因相同。这样您的IDE、解释器、编译器等就可以

为什么我要声明一个具有特定类型的可观察对象。 将observable作为类型number[]是否表示IsObservable将向观察者返回一个数字[]? 在实例化期间和实例化之后,如何将数据流传输到可观察对象? 在这种情况下,观察者将如何处理流。

键入观察者 可观察对象的类型告诉您传递给观察者的
next
回调函数的对象的类型。除此之外,可观测对象可以发出
完成
错误
事件(决不能同时发出这两种事件)

键入Observable的原因与键入
数组或
函数的返回值的原因相同。这样您的IDE、解释器、编译器等就可以帮助您确保您的程序实现您想要的功能

使用可观测数据(基本)
//声明可观察
可观察的
//实例可观察
//(从头开始)
somenums:新的可观察对象(观察者=>{
下一步([1,2,3]);
下一步([7,6,5]);
下一步([4,4,4]);
observer.complete();
返回{
取消订阅:()=>{/*什么都不做*/}
}
});
//实例化相同的可观察对象
//(来自RxJS创建操作符)
一些人:来自([
[1,2,3],
[7,6,5],
[4,4,4]
]);
//向控制台订阅可观察到的打印排放
订阅(console.log);
//将值4附加到每个数字数组,然后打印到控制台
烟斗(
映射(x=>([…x,4]))
).subscribe(console.log);

“将observable作为类型编号[]是否表示is observable将向观察者返回一个编号[]?”yeshow在实例化期间和实例化之后,在这种情况下,您是否会返回一个编号[]@VLAZIt不可能在初始化期间产生价值。首先,必须进行初始化,然后可观测数据才能产生值。至于如何生成
number[]
只需做一些类似于
subscriber.next([1,2,3])
//declare observable
somenums: Observable<number[]>

//instantiate the oberservale
somenums: new Observable<number[]>(somefunc)