带有jQuery的JavaScript异步返回值/赋值

带有jQuery的JavaScript异步返回值/赋值

我有以下jQuery函数。我试图返回GUID值,如alert();警报正常工作,值被填充,但是我似乎不能将它赋值给一个变量并返回它的值。

最终,我需要访问其他函数中的GUID值,等等。undefined.

我想做这样的事情:

function trackPage(){
    var elqTracker = new jQuery.elq(459);
    elqTracker.pageTrack({
        success: function() {
            elqTracker.getGUID(function(guid) {
                alert(guid);
                var returnValue = guid;
            });
        }
    });
    return returnValue;}var someGuid = trackPage();


蓝山帝景
浏览 656回答 2
2回答

慕田峪7331174

由于您有异步调用,所以您尝试编写代码的方式将无法工作(因为到了return returnValue;在trackCode中,返回值尚未定义)。相反,您应该将回调传递给trackPage:function trackPage(callback) {     var elqTracker = new jQuery.elq(459);     elqTracker.pageTrack({         success: function() {             elqTracker.getGUID(function(guid) {                 alert(guid);                 // Instead of this: var returnValue = guid;                 // You should use your callback function                 callback(guid);             });         }     });     return returnValue;}trackCode(function(guid) {     // perform some actions with guid});
打开App,查看更多内容
随时随地看视频慕课网APP