Angular не может вызвать метод из службы с наблюдаемым

У меня есть сервис с таким кодом:

cars() {
    return 'something here';
}

Затем из компонента я хочу получить данные с помощью наблюдаемого, поэтому я делаю следующее:

getcars() {
    this.dataService.cars().subscribe((result) => {
      console.log(result);
  });
}

Я не могу этого сделать, так как получаю:

Error: Property 'subscribe' does not exist on type 'string'.

Как я могу это исправить?

1 ответ

Решение

Сообщение об ошибке: свойство "подписаться" не существует для типа "строка". Говорит вам, что вы пытаетесь позвонитьsubscribe()функция на строке. Строки не являются наблюдаемым объектом, на который вы можете подписаться. Вы должны либо не использовать подписку, либо возвращать наблюдаемое из службы.

Чтобы создать наблюдаемое из значения, вы можете использовать of.

import { of } from 'rxjs';

cars() {
  return of('something here');
}
Другие вопросы по тегам