2017-08-18 52 views
0

幾天來,我一直試圖使用.next方法來添加數據。 在嘗試這樣的:錯誤使用.next方法

messages: Observable<Message[]>; 
const newMessage = new Message(objMessage); 
messages.next(newMessage); 

我有這樣的錯誤:

Property 'next' does not exist on type 'Observable<Message[]>'. 

是否。接下來方法以及工作中可觀察到的數據流?

回答

3

函數next不是Observable上的函數。這是Observer上的一個功能。

您可以使用一個Subject,它同時充當Observer和Observable。因此,像這樣:

const messages = new Subject<Message[]>(); 
const newMessage = new Message(objMessage); 
messages.next([newMessage]); 

當你有Message一個數組,你也可以選擇使用next與數組。

欲瞭解更多信息:http://reactivex.io/documentation/subject.html

+0

好的,謝謝。你知道是否有像_.next_這樣的方法,但對於Observable? 將數據添加到流,例如消息集合。 – Floriane

+0

是的,也許你可以使用主題。查看更新的答案。 – englund

+0

以下是我所做的:'消息:主題 =新主題(); const newMessage = new Message(objMessage); this.messages.next([newMessage]);' 但是,我的消息變量一次只包含一條消息。 – Floriane