Promises / Fetch в JavaScript: как извлечь текст из текстового файла

Я работаю над небольшой программой на JavaScript. По сути, я хочу использовать Promise и fetch для извлечения текста из двух текстовых файлов. Однако я не могу понять, как получить фактический текст из файлов. Вот мой текущий код.

sample.txt

this is
a sample
text file.

sample2.txt

this is
the second
sample file.

index.js

function getSampleText() {

  Promise.all([
  fetch('sample.txt'),
  fetch('sample2.txt')
  ]).then(allResp => {
    let sampleResp = allResp[0];
    let sample2Resp = allResp[1];
    console.info(sampleResp);
    console.info(sample2Resp);
  })
}

Вот обещания ... как мне извлечь из них текст?

Promises / Fetch в JavaScript: как извлечь текст из текстового файла

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
10
0
12 803
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Fetch не возвращает обещание для текста ответа - он возвращает обещание для объекта Response, доступного после получения заголовков.

Это значит, что вы можете делать такие крутые вещи, как:

  • Определите, как вы хотите читать текст ответа на основе заголовков.
  • Постепенно передавайте ответ и т. д.

Если вам нужен текст ответа - вы можете .text() объекты Response, чтобы получить обещание для этого:

Promise.all([
  fetch('sample.txt').then(x => x.text()),
  fetch('sample2.txt').then(x => x.text())
]).then(([sampleResp, sample2Resp]) => {
  console.info(sampleResp);
  console.info(sample2Resp);
});

Большое спасибо за совет, у него действительно все заработало.

Leia_Organa 18.05.2018 18:56

Обязательно кидайте туда catch :).

thdoan 26.07.2020 05:03

Используйте async / await

async function getSampleText() {
  console.info( (await fetch('sample.txt')).text() );
  console.info( (await fetch('sample2.txt')).text() );
}

Это не приводит к их параллельной загрузке.

JulienD 09.06.2020 21:08

@JulienD да - но все просто

Kamil Kiełczewski 09.06.2020 21:45

Другие вопросы по теме