-2
Typescript (원자 편집기의 tslint)가 타이프 스크립트 오류를 표시하지만 올바른 유형을 설정하는 방법을 알 수 없습니다.'unsubscribe'속성이 'Observable <DataSnapshot>'유형에 존재하지 않습니다.
채팅 구성 요소 :
제공 _chatprivate _chatObserver: Observable<firebase.database.DataSnapshot>
otherMethod() {
this._chatObserver = this._chat.observe(alarmId)
this._chatObserver.subscribe(
(messageSnap: firebase.database.DataSnapshot) => {
this.messages.push(messageSnap.val())
},
error => {throw error})
}
ionViewDidLeave() {
this._chatObserver.unsubscribe()
}
:
public observe (alarmId){
let messagesRef = this._ref.child(`alarms/${alarmId}/messages`)
const observable = Observable.create(observer => {
messagesRef.on('child_added',(messageSnap) => {
observer.next(messageSnap)
},
(error) => observer.error(error)
)
return() => {
messagesRef.off('value')
};
});
return observable
}
'unsubscribe'는 호출한다 구독 (Subscribe) - 관찰 가능한 (Observable)이 아니다. 'subscribe '를 호출하면'Subscription'이 반환됩니다. – cartant