使用异步等待获取从网址中的txt文件中获取数字

时间:2018-12-27 00:09:33

标签: javascript html5 async-await fetch fetch-api

我想要一个简单的javscript命令来执行此操作: 1.用户按下按钮。 2.使用'onclick =“ pressed”'转到url(http://*****.*****.com/numbers.txt) 4.彼此之下有一堆数字。 5.把那些打印在我的html中。 如果您知道做此操作的简短方法,请随时执行以下操作,因为我是初学者,不知道如何从此处继续:

  document.addEventListener("DOMContentLoaded", async function(event) {
  var response = await fetch("http://*****.*****.com/numbers.txt");
var arr = await response.txt();

function pressed() {
  document.getElementById("demo").innerHTML = ...;
}
<h1>Numberss</h1>
  

  <input type="button" value="Press" onclick="pressed">
 
  <p id="demo"></p>

2 个答案:

答案 0 :(得分:0)

要从获取中获取返回值,您需要执行以下操作:

var response;

await fetch("http://*****.*****.com/numbers.txt")
then( async (resp) => {
    // I dont know how the response will look like, 
    // but you might need to get a property, in which case you can do:
    // response = (await resp.json()).propertyWIthData
    response = await resp.json();
});

,然后对响应中的文本进行任何操作

答案 1 :(得分:0)

在不知道从API返回的确切格式的情况下,很难做很多事情。您还花了极少的精力来解决问题,而演示甚至无法正常工作甚至无法编译。您可能不知道如何做自己想做的事,但至少应该知道要关闭功能,这只是无视我们的时间。

我已经修复了您的演示,但是没有更多信息,您将无法为您提供帮助,或者您可以给我们提供有效的网址(您希望使用的网址或{{3}中的类似网址) }。

document.addEventListener("DOMContentLoaded", async function(event) {
  let mockData = [
    "a", "b", "C", "daddy"
  ];
  
  document.getElementById("demo").innerHTML = (mockData.reduce((total, current) => {
    return total + " - " + current;
  }, ""));
});


function pressed() {
  document.getElementById("demo").innerHTML = "...";
}
<h1>Numberss</h1>
  

  <input type="button" value="Press" onclick="pressed()">
 
  <p id="demo"> Hi </p>