5

さまざまなモジュールをロードするために require() 呼び出しをネストしたシナリオがあります。

コールバック関数が呼び出される前に、すべての require() 呼び出しとそのすべての子の require() 呼び出しが完全に読み込まれるようにする方法はありますか?

require() 呼び出しが同期的であることを指定する方法はありますか?

function someFunction(callback) {

  //top level require
  require([...], function(...) {

     //nested require
     require([...], function(...) {
     });

     //nested require
     require([...], function(...) {
     });

  });

  callback();
};
4

2 に答える 2

3

callback最後のrequire(...)関数で実行する必要があります。

function someFunction(callback) {
   require(['somemodule'], function(someModule) {
     // do stuff with someModule...

     // execute callback
     callback(); 
   });
}

また、 define 関数を使用して依存関係を指定することもできます。

例:

define('somemodule', ['somedependency'], function(someDependency) {
   // return somemodule
   return {
     someProperty: someDependency.getProperty();
   };
});

function someFunction(callBack) {
   var someModule = require('somemodule');   
   var foo = someModule.someProperty;

   return callBack(foo);
}
于 2013-01-23T19:24:52.147 に答える