1

私は次のコードを持っています:

define([],
    function() {

        var AppSettings = function(){};
        AppSettings.prototype = {

            init: function() {
                var that = this;

                //...
                require(views,function(){
                    var counter = 0;
                    for(view in that.settings.initViews) {
                       that.initViews[view] = new arguments[counter++];
                    }
                    console.log("init");   
                });
            },

            run: function() {
                console.log("run");
            }

        };

        return AppSettings;
    }
);

AppSettings モジュールをロードすると、次のようになります。

require(["app_settings"],
    function(AppSettings) {
        var settings = new AppSettings();
        settings.init();
        setting.run();
    }
);

次の出力が得られます。

run
init

これはおそらく、init メソッドでモジュールを非同期にロードしているためですが、モジュールがロードされるのを「待つ」にはどうすればよいですか? すべての async alls が完了したことを確認してから呼び出す方法を教えてrunください。

4

0 に答える 0