0

我有 jQuery 加载一个 json,当 json 准备好时,我使用 .then() 表示法来运行一个函数 doThis()。但是,如果我在 doThis() 上传递一个变量,它会返回“未定义”。

我想了很多:在我的应用程序中,jQuery 在鼠标单击时运行,并且在传递变量时,它确实在第二次鼠标单击时运行。好像 json 被加载了,但是如果我传递一个变量,jQuery 不会等待 json 完成加载。

这有效:

$.getJSON('/endpoint/', function(data) {
  data = data
})
  .then(doThis)

即使括号中没有变量,这也不起作用:

$.getJSON('/endpoint/', function(data) {
  data = data
})
  .then(doThis())

我确信这与 JavaScript 的架构有关。如果有人能启发我一点,那就太棒了。

提前致谢!

4

0 回答 0