找不到变量:方法



抱歉,我是本机和 es6 的新手,现在我的 API 获取函数遇到了问题。

componentDidMount() {
      console.log("here");
      this._onPressButtonGET(0)
    }

  renderList = (data) =>{
    if(data){
      return data.map((item) => {
        return(
          {
            rOrder: item.rOrder,
            title: item.title,
            intro: item.intro,
            url: item.url,
            img: item.img,
          }
        )
      }
    )
  }
}
  async _onPressButtonGET(data) {
    console.log("here1");
    try {
        let response = await fetch(api.novel, method:"GET")
        let json = await response.json()
        console.log("here2");
        let dataList = this.renderList(responseData.data.carousel);
        for (  data = 0 ; data < 5; data++){
          if (dataList[data] == null) break;
          console.log(dataList[i]);
        };
        this.setState({ pValue:data })
      } catch (error) {
        console.log("here3");
        this.setState({ refreshing: false })
        alert(error)
      }
  }

上面的警报给我参考错误:找不到变量:方法。控制台.log"此处 2"不起作用。我可以在没有异步/等待 mehtod 的情况下成功获取数据,但目前,我有点需要异步/等待。请帮助我完成这些功能。

 _onPressButtonGET(data) {
          fetch(api.novel, {method: "GET"})
          .then((response) => response.json())
          .then((responseData) => {
               let dataList = this.renderList(responseData.data.carousel);
               //console.log(dataList);
               //console.log(dataList[1]);
               //let i = 0;
               for (  data = 0 ; data < 5; data++){
                 if (dataList[data] == null) break;
                 //console.log(dataList[i]);
               };
               console.log("outloop" +data);
               this.setState({ pValue:data })
          })
          .done();
      }

我使用另一个函数来使此获取成功,但不是使用 async/await。现在我很好奇这是如何工作的?为什么异步/等待不起作用?

错误位于此行:

let response = await fetch(api.novel, method:"GET")
//                                    ^

method在引号之外,作为变量名,但它从未在任何地方声明过。

您可能打算将init对象传递给fetch API:

let response = await fetch(api.novel, { method: "GET" })
//                                    ^ passing an object, notice the { }

您也可以省略方法类型(默认为"GET"(:

let response = await fetch(api.novel)

相关内容

  • 没有找到相关文章

最新更新