【问题标题】:Asynchronous request in react-nativereact-native 中的异步请求
【发布时间】:2017-10-05 19:51:58
【问题描述】:

我使用这段代码通过 React-Native 异步发出请求,但它似乎没有得到它。请求已经单独测试过,数据应该是有效的。

   var data = [{name: 'simon'}];
   const req = new XMLHttpRequest();
   req.open('GET', testedValidUrl, true);
   req.send();

   req.onreadystatechange = processRequest;
   var name ="";
   function processRequest(e) {
      if(req.readyState == 4 && req.status == 200){
      var response = JSON.parse(req.responseText);
      data[0].name = response.name;
      }
      // setTimeout(()=>{},1000);
    }

我认为可能是因为并发性,并且实际应用程序中的大型数组构建所需的时间少于从服务器获取数据的时间。添加 setTimeout() 并没有解决它。

【问题讨论】:

标签: javascript asynchronous react-native request


【解决方案1】:
   var data = [{name: 'simon'}];
   const req = new XMLHttpRequest();
   function processRequest(e) {
      if(req.readyState == 4 && req.status == 200){
      var response = JSON.parse(req.responseText);
      data[0].name = response.name;
   }
   req.onreadystatechange = processRequest;
   req.open('GET', testedValidUrl, true);
   req.send();
   var name ="";

如果您在发送/打开请求后设置事件处理程序(onreadystatechange),readyState 已经更改,因此不会被调用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多