Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript中的承诺/获取:如何从文本文件中提取文本_Javascript_Asynchronous_Promise_Fetch Api - Fatal编程技术网

JavaScript中的承诺/获取:如何从文本文件中提取文本

JavaScript中的承诺/获取:如何从文本文件中提取文本,javascript,asynchronous,promise,fetch-api,Javascript,Asynchronous,Promise,Fetch Api,我正在用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'), fe

我正在用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.log(sampleResp);
    console.log(sample2Resp);
  })
}
以下是承诺……我如何从中获得文本


Fetch不会返回响应文本的承诺-它会返回在接收到标题后可用的
响应
对象的承诺

这样你就可以做一些很酷的事情,比如:

  • 根据标题确定要如何读取响应体
  • 逐步流式传输响应等
如果您想要响应的文本-您可以
.text()
响应对象来获得承诺:

Promise.all([
  fetch('sample.txt').then(x => x.text()),
  fetch('sample2.txt').then(x => x.text())
]).then(([sampleResp, sample2Resp]) => {
  console.log(sampleResp);
  console.log(sample2Resp);
});
使用异步/等待

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

非常感谢您的建议,它真的让一切都运转良好。一定要在那里抛出一个
捕获(
)。这不会同时获取它们。@JulienD yes-但很简单