使用Fetch API时如何等待http请求完成

时间:2018-12-07 06:29:20

标签: javascript http xmlhttprequest fetch fetch-api

这是我要实现的目标:

使用提取API从特定页面的输入中获取价值

但是问题是,当我获取HTML文件时,输入值是空的,因为来自HTML的javascript文件会填满输入,并且需要一些时间。有什么方法可以等待http请求完成,以便从中获取价值?

fetch('some.html').then(res => res.text())
  .then(res => {
    let parser = new DOMParser()
    let htmlDoc = parser.parseFromString(res, 'text/html')
    console.log(htmlDoc.querySelector('#mobile2').value)
})

1 个答案:

答案 0 :(得分:-4)

只需添加setTimeout

fetch('some.html').then(res => res.text())
  .then(res => {
    // wait for 1 second
    setTimeout(() => {
      let parser = new DOMParser()
      let htmlDoc = parser.parseFromString(res, 'text/html')
      console.log(htmlDoc.querySelector('#mobile2'))
    }, 1000)
})