在jQuery AJAX中传递promise方法之间的变量

时间:2015-09-07 08:09:33

标签: javascript jquery ajax promise

我正在尝试在一个variable方法中设置promise并在另一个方法中访问它,但没有太多运气。

我有这段代码:

$.getJSON('some/file/')
.done(function(response) {
    var foo = response;
})
.always(function() {
    // How can I access 'foo' here?
});

那么如何在其他promise方法中访问foo变量呢?

1 个答案:

答案 0 :(得分:2)

如果您在done()函数之外声明变量,则可以在always()

中访问该范围。
var foo;
$.getJSON('some/file/')
.done(function(response) {
    foo = response;
})
.always(function() {
    // How can I access 'foo' here?
    console.log(foo);
});

您可能会发现this也很有趣。还要记住,当ajax失败时总是会执行。