messenger.component.ts
import { MessengerService } from 'messenger.service';
messages: any =[];
ngOnInit(): void {
// call logs to http api
this.messages = this.messengerService.getData();
}
sendMessage(message){
this.messages.subscribe(data => {
data.push({
message_from: 'borrower',
message: message
});
console.log(data);
});
}
OUTPUT CONSOLE.LOG (data)
0: {message_from: "borrower", message: "hi", status: 0, user: 1}
1: {message_from: "borrower", message: "test", status: 0, user: 1}
2: {message_from: "borrower", message: "yea", status: 0, user: 1}
3: {message_from: "borrower", message: "aasd", status: 0, user: 1}
4: {message_from: "borrower", message: "aaa", status: 0, user: 1}
messenger.service.ts
public getData(): Observable<MessageData[]> {
return this.http.get<MessageData[]>('API', {
headers: {
Authorization: `Bearer ${sessionStorage.getItem('token')}`,
Accept: 'application/json'
}
}).pipe(map(response => response['success']));
}
messenger.component.html
<ng-container *ngFor="let message of messages | async ">
//template
</ng-container>
Уже можно получить данные из API веб-сервера.Я хочу добавить еще одну функцию, которая отправляет данные и может показывать их сразу после нажатия кнопки «Отправить».Как это сделать, используя Observable, который может добавить в предыдущий список?
Preview
Я просто хотел сразу показать сообщение после нажатия функции sendMessage
который будет сохранять через API и синхронизировать его с Observable