Обновление
Проблема в том, что вы получаете доступ к вашему массиву с помощью string
вместо number
. По этой причине тип foo
- unknown
вместо FooModelDTO
.
Исходный ответ
Чтобы ответить на ваш вопрос, мы должны знать, что this.foods
тип есть. Если набран правильный, все должно работать. Если вы не можете исправить его тип, вы можете позже преобразовать foo
.
var foo: FooModelDTO = this.foos[id] as FooModelDTO;
if (foo) {
return from(foo);
}
Также from
требует ввода типа ObservableInput<any>
. Я бы рекомендовал использовать defer
. Поскольку Observable
, возвращаемое, если у вас есть промах в кеше, является ленивым, неплохо сделать Observable
, вы получите попадание в кеш, также ленивым.
return defer(() => of(foo));