0

我有一种情况,我需要一个 jQuery 回调来处理它范围之外的变量。为简单起见,假设以下代码:

$('#myBtn').on('click', function(e) {
    var num = 1;

    // assume this returns the following:
    // { success : true, num : 1 }
    $.getJSON('/api/get_number', {}, function(response) {
        if ( response.success ) {
            // here, num is unknown unless I define it as a
            // global variable
            num += response.num ;   
        }
    });

    console.log(num); // => want 2, get 1
});

我希望 num 在回调函数中可用。在不声明全局变量(在 onclick 函数之外声明 num )的情况下,有什么好的方法可以做到这一点?有没有办法将它作为参数传递而不必从服务器发送?谢谢。

4

1 回答 1

-1
$('#myBtn').on('click', function(e) {
    var num = 1;

    // assume this returns the following:
    // { success : true, num : 1 }
    $.getJSON('/api/get_number', {}, function(response) {
        // get responce
        if ( response.success ) {
            // here, num is unknown unless I define it as a
            // global variable
            num += response.num ;   
            console.log(num); // you will get 2 here
        }
    });
    // responce havnt get ,you always get 1
    console.log(num); // => want 2, get 1
});
于 2012-06-18T02:33:23.473 回答