Мне нужна последняя эмиссия для вызова сигналов. Я должен взломать глубокий чат и использовать AddMessage , так как можно излучать несколько сообщений (глубокий чат не поддерживает это из окна), это то, что подтехнет $ для наблюдаемого, он испускает false . Работа с углованием, RXJS и глубоким чатом. Это мой текущий код, относящийся к вопросу. (
) - это вход в угловой, а не функции)
Код: Выделить всё
combineLatest([this.service.streamPending$.pipe(skip(1)), this.messages()]).pipe(
tap(([bool, message]) => {
console.log('bool')
if (bool) {
signals.onResponse({ text: message } as MessageContent);
signals.onClose();
}
}),
takeWhile(([bool]) => !bool)
).subscribe(([bool, message]) => {
if (!bool) {
(this.chatElementRef()?.nativeElement as any).addMessage({
text: message,
role: 'ai'
});
}
});
< /code>
console.log('bool')
; Печатно дважды на втором сообщении (если существует), которое, очевидно, показывает второе сообщение дважды в моем пользовательском интерфейсе. Я понимаю, почему, но не знаю, как это исправить. Помогите оценить!
Подробнее здесь:
https://stackoverflow.com/questions/796 ... te-message