链接到新创建的observable时,异步管道失败

时间:2017-11-28 17:03:47

标签: angular typescript rxjs

将异步管道连接到新创建的Observable时,会出现错误

"Cannot read property 'subscribe' of undefined"

这是一个Plunkr,展示了我所谈论的内容: https://plnkr.co/edit/vljXImCYoNubjyxOaWo3?p=preview

但是,如果我发表评论

private asyncList: Observable<string[]> = new Observable<string[]>();

并取消评论

//private asyncList: Observable<string[]>;

然后页面加载没有问题。也许我错过了一些显而易见的东西,但这让我陷入了困境。

这个Plunkr是从其他人那里分出来的,我做了最少量的工作来演示错误,所以请原谅你看到的任何奇怪的命名或做法。

1 个答案:

答案 0 :(得分:2)

使用new Observable()与调用Observable.create()相同,这意味着您需要为其提供“订阅”功能,该功能在订阅时向观察者发出值。例如:

private asyncList = new Observable<string[]>(o => o.next('Hello'));

请注意,您的演示中的错误会在Observable中抛出,而不是在管道本身中抛出。

我对parameter in the Observable class is optional感到惊讶。我不知道你可能会忽略它的任何用例......