异步编程新新新新手, 不应该说编程新手
这几日在用 jsbox 构建一个自己的小工具,卡在了 http 异步请求这一块,请求返回值死活无法赋值给一个全局的变量给其他地方使用;
了解了异步的一些基础用法,有通过 then 获取的,有通过定义 async 函数获取的,还有回调函数获取的 但发现有个特点就是拿到的返回值,作用域均仍在内部,拿不出来这个返回值
// 调用 v 站的 api 例子,获取最新主题
function test() {
var result = undefined
let url = "https://www.v2ex.com/api/topics/latest.json"
return $http.get({
url: url
}).then(resp => {
var data = resp.data[0]['title']
return data
})
}
//调用的获取返回值
async function getRet(){
var ret = await test();
console.log(ret);
return ret;
}
getRet() // 拿不到 ret 的值