Проблема с тестами Typescript с использованием абсолютного импорта

Да, Promise.all - правильный подход, но вам действительно нужно его дважды, если вы хотите сначала fetch указать все URL-адреса, а затем получить все text s от них (что опять-таки является обещанием для тела ответа ). Поэтому вам нужно будет

Promise.all(urls.map(fetch)).then(responses =>
    Promise.all(responses.map(res => res.text())
).then(texts => {
    …
})

. Ваш текущий код не работает, потому что forEach ничего не возвращает (ни массив, ни обещание).

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

Promise.all(urls.map(url =>
    fetch(url).then(resp => resp.text())
)).then(texts => {
    …
})
1
задан skyboyer 16 January 2019 в 10:59
поделиться

1 ответ

Если единственная проблема, с которой вы сталкиваетесь с типами, это методы jest, то вам обязательно стоит взглянуть на ts-jest . Это позволит вам создать конфигурацию jest, которая заставит jest запускать машинописный код в качестве препроцессора кода и будет строго вводить методы jest.

Отказ от проверки типов для тестов поначалу кажется заманчивым, но я лично обнаружил много ошибок в вызовах своих функций или даже в коде приложения, когда прекратил их исключать.

0
ответ дан Marcin Natanek 16 January 2019 в 10:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: