У меня есть функция, возвращающая Rx.Observable
созданный из обетования, следующим образом:Как объявить обратный машинопись тип Rx.Observable.fromPromise()
var data$ = fetchData();
fetchData() {
return Rx.Observable.fromPromise(fetch("someUrl"));
}
В Visual Studio кодекса, если навести курсор на переменную data$
показывает тип как Observable<Response>
. Однако, если я явно объявляю возвращаемый тип функции как таковой, например. fetchData(): Rx.Observable<Response> {...}
Я получаю сообщение об ошибке «Не могу найти имя« Ответ ».»
Он работает при объявлении возвращаемого типа как Observable<any>
, но это слишком общее. Как объявить возвращаемый тип функции в соответствии с типом data$
Observable<Response>
?
Мои извинения, я должен отметить, что это проект узла, поэтому я использую 'узел-fetch' для у меня есть установленные типы. Для использования 'fetch' у меня есть' import fetch from "node-fetch"; 'Кажется, я могу сделать' import * как Response from "../ node_modules/node-fetch/lib/response"; 'но это не кажется правильным (указав полный путь к модулю), и даже при этом я все равно получаю сообщение «Can not find name» Response ». ошибка. – 4EverLive
Попробуйте «npm install --save @ types/node-fetch» и используйте 'import {Response} из« node-fetch »;' – olsn
Большое спасибо, это работает – 4EverLive