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