Есть ли пример использования fetch с потоками?

Я пытаюсь использовать выборку в своей асинхронной функции, но поток выдает эту ошибку

Ошибка: (51, 26) Поток: Обещание. Этот тип несовместим с объединением: применение типа идентификатора Promise | введите параметр T ожидания

это код, который может генерировать эту ошибку:

async myfunc() {
   const response = await fetch('example.com');
   return await response.json();
}

Я хотел бы напечатать ответ response.json


person Sibelius Seraphini    schedule 26.10.2016    source источник


Ответы (1)


Вы можете либо аннотировать возвращаемый тип функции, используя Promise <T>, где T — желаемый тип, либо присвоить результат временному локальному объекту с явной аннотацией типа, а затем вернуть этот локальный объект. Затем будет выведен тип возвращаемого значения функции.

Явная аннотация возвращаемого типа:

async myfunc(): Promise<{name: string}> {
    const response = await fetch('example.com');
    return await response.json();
}

Предполагаемый тип возвращаемого значения из явно аннотированного локального файла:

async myfunc() {
    const response = await fetch('example.com');
    const result: {name: string} = await response.json();
    return result;
}
person Aluan Haddad    schedule 16.09.2017