1

我有 3 个带有JavaScript代码和JQuery ajax 调用的简单模块。第一个模块lots.js

var Lots = (function ($) {
    var self = this;

    var processIsRunning;   

    return {
        getLots: function (lotsUrl) {
            var items = [];
            self.processIsRunning = true;
           var request = $.ajax({
                url: lotsUrl,
                type: 'POST',
                success: function (data) {
                    //some code
                }
           });
            $.when(request).done(function() {
                //some code
                self.processIsRunning = false;                
            });
        },
        isComplete: function () {
            return !self.processIsRunning;
        }        
    };
}(jQuery));

模块bids.js

var Bids = (function ($) {

    return {
        makeBids: function (bidUrl) {            
            //some code
        }
    };
}(jQuery));

捆绑在一起的模块app.js :

var App = (function () {

    var lots_url = null;
    var bid_url = null;
    var self = this;    

    return {
            if (!self.lots_url) {
                self.lots_url = lotsUrl;
            }
        GetLots: function (lotsUrl) {
             Lots.getLots(self.lots_url);            
        },
        MakeBids: function makeBid(bidUrl) {
            //some code

            var isComp = Lots.isComplete();
            while (!isComp) {
                isComp = Lots.isComplete();                    
            }
            Bids.makeBids(self.bid_url);            
        }
    };
}());

但在“while”循环中,我总是得到“isComplete=false”。在调试中,我看到很多模块中的 'processIsRunning' 总是true。有什么问题?

4

0 回答 0