刚开始用 jsbox,今天遇到了这么个问题
function test() {
var result = ""
url = "https://www.v2ex.com/api/topics/latest.json"
$http.get({
url: url,
handler: function (resp) {
var data = resp.data[0]['title']
console.log(data) // Synchronized 的轻量级锁
result = data
}
})
return result
}
ret = test()
console.log("test 的返回值是"+ ret)
// 执行结果
"test 的返回值是 undefined"
"Synchronized 的轻量级锁
执行代码,输出的顺序是(为什么是先执行 console.log(),后调用的 test 函数?? 导致 console 的时候,还没拿到函数调用结果 ),为什么 test 函数 return 出来的的 result 是 undefined, 假如我下一个函数依赖于 test 的返回值,怎么处理?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.