最近在学习 axios 这个库,想通过这个库取得 json 数据然后做进一步处理,代码如下:
function getData(url) {
var res;
axios.get(url)
.then(function (response) {
res = response.data;
})
.catch(function (error) {
console.log(error);
});
return res;
}
console.log(getData('https://yesno.wtf/api'));
返回的结果为 undefined,我知道这是因为 axios 采用的是异步操作,res 在 axios 获得返回数据前就已经由 getData()函数返回了,所以是 undefined。所以我很疑惑,到底怎样才能得到正确的返回值了?求问各位 JS 高手有没有比较优雅的实现方式?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.