{
single: {
userId: {
messages: Message[],
},
group: {
groupId: {
messages: Message[],
},
},
notifications: {
id: data,
}
}
что данные отправляются через JSON .stringify (objAbove). проблема с JSON.parse(objAbove)
, если в свойстве messages
есть объект, которого там нет,
1 private _subToStoredMessages(): Observable<void> {
2 return this.socket.fromEvent('ask-messages').pipe(
3 map((msgs: string): void => {
4 console.log('--->', msgs); // all information is there
10 this.jsonConverter(msgs)
11 .then(res => {
12 console.log('res from json converter', res);
13 this.handleStoredMessages(res);
14 })
15 .catch(err => {
16 console.log(err);
17 });
18 }),
19 );
20 }
21
22 private async jsonConverter(json: string): Promise<any> {
23 return new Promise((resolve, reject) => {
24 console.log('json', JSON.parse(json)); // anything in messages property is missing
25 resolve(JSON.parse(json));
26 reject({ problem: 'error', id: JSON.parse(json) });
27 });
28 }
ОБНОВЛЕНИЕ:
изображение журнала консоли, показывающее проблему :
Если есть массив с 5 сообщениями, то будут отображаться только 3 сообщения, если есть массив с одним сообщением, то он не будет будь там. Я понятия не имею, что происходит, и я потратил около 6 часов на это. любая помощь будет очень ОЧЕНЬ оценена. спасибо