Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.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_Api_Promise - Fatal编程技术网

JavaScript—如何从承诺中获取特定数据

JavaScript—如何从承诺中获取特定数据,javascript,api,promise,Javascript,Api,Promise,所以情况就是这样:我试图从承诺中获得具体数据。Promise显示来自API的数据: Promise由三个值(0、1和2)组成,每个值由一个包含多个变量的数组组成。我想从承诺名称“0”中获取数组中最后一个变量的数据(您明白吗?) 这就是承诺的样子: 点击后: 这就是我想要的数据:数组中最后一个变量的数据。从这个变量中,我需要来自“Cases”的数据,所以是“8603” 函数getAPIdata(){ var url='1〕https://api.covid19api.com/country';

所以情况就是这样:我试图从承诺中获得具体数据。Promise显示来自API的数据:

Promise由三个值(0、1和2)组成,每个值由一个包含多个变量的数组组成。我想从承诺名称“0”中获取数组中最后一个变量的数据(您明白吗?)

这就是承诺的样子:

点击后:

这就是我想要的数据:数组中最后一个变量的数据。从这个变量中,我需要来自“Cases”的数据,所以是“8603”

函数getAPIdata(){ var url='1〕https://api.covid19api.com/country'; var country=document.getElementById('country')。值; var requestconfirm=url+'/'+国家+'/'+'状态'+'/'+'确认'; var requestRecovered=url+'/'+country+'/'+'状态'+'/'+'已恢复'; var requestDeaths=url+'/'+国家+'/'+'状态'+'/'+'死亡'; var请求选项={ 方法:“GET”, 重定向:“跟随” }; 我保证([ 获取(请求确认,请求选项), 获取(请求恢复,请求选项), 获取(请求死亡、请求选项) ]) .然后(功能(响应){ 返回responses.map(函数(响应){ 如果(!response.ok)抛出错误(response.statusText); 返回response.json(); }); }).然后(函数(结果){ 月经(结果); //控制台日志(结果); }).catch(函数(错误){ onAPIError(错误); }); } 函数onAPISucces(结果){ var类型=结果; var landenLijst=结果; 控制台日志(landenLijst); var country=document.getElementById('country')。值; //log(landenLijst[landenLijst.length-1].Cases); 对于(变量i=0;i

选择一个国家:
国家:


map
不会评估来自
json()
调用的承诺。你也必须把这些当作承诺

   // ...
   .then(function (responses) {
      return Promise.all(responses.map(function (response){
        if(!response.ok) throw Error(response.statusText);
        return response.json();
      }));
   });
   // ...

map
不会评估来自
json()
调用的承诺。你也必须把这些当作承诺

   // ...
   .then(function (responses) {
      return Promise.all(responses.map(function (response){
        if(!response.ok) throw Error(response.statusText);
        return response.json();
      }));
   });
   // ...

从数组中弹出元素并相应地访问Cases属性

见下文:

 let data=result;
    let confirmed=data[0].pop();
    let recovered=data[1].pop();
    let deaths=data[2].pop();  
document.querySelector('#confirmedInformation').innerHTML="Confirmed:"+confirmed.Cases;
运行此代码段。它将非常有趣

函数getAPIdata(){ //document.querySelector('span').classList.toggle('hidden'); var url='1〕https://api.covid19api.com/country'; var country=document.getElementById('country')。值; var requestconfirm=`${url}/${country}/status/confirmed`; var requestRecovered=`${url}/${country}/status/recovered`; var requestdeathes=`${url}/${country}/status/deathes`; 我保证([ 获取(请求确认), 获取(请求恢复), 取回(请求死亡) ]) .然后(功能(响应){ 让jsonPromises=[]; responses.forEach((response)=>jsonPromises.push(response.json()); 返回承诺。全部(jsonPromises); }) .然后(函数(结果){ //document.querySelector('span').classList.toggle('hidden'); 月经(结果); }) .catch(函数(错误){ //document.querySelector('span').classList.toggle('hidden'); console.log(错误); onAPIError(错误); }); } 函数onAPISucces(结果){ //控制台日志(结果); 让数据=结果; let confirmed=数据[0].pop(); let recovered=data[1].pop();
让death=data[2].pop();document.querySelector(“#confirminformation”).innerHTML=“从数组中弹出元素并相应地访问Cases属性

见下文:

 let data=result;
    let confirmed=data[0].pop();
    let recovered=data[1].pop();
    let deaths=data[2].pop();  
document.querySelector('#confirmedInformation').innerHTML="Confirmed:"+confirmed.Cases;
运行此代码段。它将非常有趣

函数getAPIdata(){ //document.querySelector('span').classList.toggle('hidden'); var url='1〕https://api.covid19api.com/country'; var country=document.getElementById('country')。值; var requestconfirm=`${url}/${country}/status/confirmed`; var requestRecovered=`${url}/${country}/status/recovered`; var requestdeathes=`${url}/${country}/status/deathes`; 我保证([ 获取(请求确认), 获取(请求恢复), 取回(请求死亡) ]) .然后(功能(响应){ 让jsonPromises=[]; responses.forEach((response)=>jsonPromises.push(response.json()); 返回承诺。全部(jsonPromises); }) .然后(函数(结果){ //document.querySelector('span').classList.toggle('hidden'); 月经(结果); }) .catch(函数(错误){ //document.querySelector('span').classList.toggle('hidden'); console.log(错误); onAPIError(错误); }); } 函数onAPISucces(结果){ //控制台日志(结果); 让数据=结果; let confirmed=数据[0].pop(); let recovered=data[1].pop();
let death=data[2].pop();document.querySelector(“#confirminformation”).innerHTML=“谢谢你的帮助!我不知道答案实际上这么复杂。我从未使用过pop()和“let”,所以我今天学到了新东西。谢谢你!它不复杂。很简单。请参阅pop将为你提供数组中的最后一个对象。变量声明是一样的