TS2322: Тип » _ «не может быть присвоен типу «никогда». угловой

#angular

Вопрос:

я пытаюсь использовать websocket ( sockjs и stomp ) в моем проекте angular для создания сообщения чата в моем сервисе.ts, когда я создаю метод addMessage , подобный этому :

  public messages = [];
  addMessage(message: any, username: string, avatar: string) {
    this.messages.push({
      text: message,
      date: new Date(),
      user: {
        name: username,
        avatar:avatar
      }
    });
  }
 

среда IDE показывает эти ошибки:

 TS2322: Type 'any' is not assignable to type 'never'. 
TS2322: Type 'Date' is not assignable to type 'never'.
TS2322: Type 'string' is not assignable to type 'never'.
TS2322: Type 'string' is not assignable to type 'never'.
 

Связано с методом добавления сообщений

Ответ №1:

Вы можете решить ее с помощью интерфейсов:

 interface IMessage {
    text: string;
    date: Date;
    user: IUser;
}

interface IUser {
    name: string;
    avatar: string;
}

public messages: IMessage[] = [];
addMessage(message: any, username: string, avatar: string) {
    this.messages.push({
        text: message,
        date: new Date(),
        user: {
            name: username,
            avatar:avatar
        }
    });
}