比较来自API的不同数据响应

问题描述 投票:0回答:1

我对JavaScript和回调的变化还很陌生,所以我想知道如何实现下一个:

function getLocation() {
    fetch('https://www.fakeapi.com/services/geo-iso.html')
        .then(response => {
            return response.json();
        })
        .then(data => {
            console.log(data.iso);
        })
        .catch(err =>
            console.error('Hubo un problema con la petición Fetch: ' + err.message)
        );
}

console.log(data.iso);返回您要访问的国家/地区ISO参考(例如,墨西哥的MX,美国的美国等)。

[我想实现的某种方式是使用此功能,并监视它是否来自美国(例如),如果它来自另一个国家,则做另一件事,例如:

if (getLocation() == 'MX') {
   console.log('Do this');
} else if (getLocation() == 'US') {
   console.log('Do that');
}

我尝试将回调函数放到另一个分析ISO代码的函数中,但它根本无法说服我。

有什么想法吗?在此先感谢

javascript ajax api callback fetch
1个回答
0
投票

获取返回一个Promise,然后您可以继续该链。

const location = getLocation(); // returns a promise
location.then((data) => {
    switch (data.iso) {
       case 'MX':
          // Do something for Mexico
          break;
       case 'US':
          // Do something for United States
          break;
       default:
          // Do something with any other ISO
    }
});
© www.soinside.com 2019 - 2024. All rights reserved.