首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试在第二个函数中使用response.json来筛选特定的结果

尝试在第二个函数中使用response.json来筛选特定的结果
EN

Stack Overflow用户
提问于 2022-04-05 06:12:36
回答 1查看 452关注 0票数 0
代码语言:javascript
复制
import fetch from "node-fetch";

const URL_API = `https://jsonmock.hackerrank.com/api/countries?`;
async function getResponse() {
  let response = await fetch(URL_API, {
    method: "GET",
    headers: {
      "Content-type": "application/json",
    },
  })
    .then((response) => {
      return response.json();
    })
    .then((data) => {
      console.log(data);
    })
    .catch((error) => {
      // handle error
      console.error(`The unknown error has occurred: ${error}`);
    });
}

getResponse();

async function getCapitalCity(country) {
  const data = await response.json(); //error mentioned here
  for (let info in data) {
    console.log(info);
    if (info.name === country) {
      return info.capital;
    } else {
      return -1;
    }
  }
}

console.log(getCapitalCity("Afghanistan"));

正在检索json对象。我试图在getCapitalCity()中使用来自getCapitalCity()的响应对象,这个对象基于输入的国家(字符串)。我的问题是知道如何在第二个函数中使用响应。当前得到一个承诺,拒绝引用错误:响应没有定义。提前谢谢你。

EN

回答 1

Stack Overflow用户

发布于 2022-04-06 06:49:07

我重新组织了您的代码并添加了不同的循环。

代码语言:javascript
复制
const URL_API = `https://jsonmock.hackerrank.com/api/countries?`;

async function getResponse() {
  let response = await fetch(URL_API, {
    method: 'GET',
    headers: {
      'Content-type': 'application/json'
    }
  })
  try {
    return await response.json();
  } catch (error) {
    // handle error
    console.error(`The unknown error has occurred: ${error}`);
  }
}

getResponse();

async function getCapitalCity(country) {

  const dat = await getResponse();
  const capital = dat.data.filter((item) => item.name === country).map(item => item.capital);

  return capital;

}
getCapitalCity('Afghanistan').then(items => console.log('capital: ', items))

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71747013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档