javascript - 在深度模块化的 Backbone、Require.js 和 D3 应用程序中,如何确保一个函数在另一个函数之前被调用?

标签 javascript backbone.js d3.js requirejs amd

这是我头痛的地方。我正在开发一个模块化的 javascript 应用程序,除了一个细节之外,一切看起来都很整洁:我只能弄清楚如何加载我的 initialize仅在使用此 Backbone.collection.fetch() 从服务器获取我的模型后才起作用方法。

请查看this文件,可能还有 whole project如果您愿意,我非常感谢您的合作。

最佳答案

fetch 有一个成功回调,正如 Reed Spool 指出的那样。以下是如何使用它:

var View = Backbone.View.extend({

    initialize: function () {
      // Preserve *this* in closures
      var that = this;

      this.collection.fetch({
        success: function(data){
          console.log(data);            
          that.render();
      },
        error: function(){
          console.log('error');
        }
      });

    },

    render: function() {
      //render whatever you need from your fetched collection
    }      

});

关于javascript - 在深度模块化的 Backbone、Require.js 和 D3 应用程序中,如何确保一个函数在另一个函数之前被调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23874739/

相关文章:

javascript - 如何解析并连接特定分隔符

javascript - 主干 - 尝试使用集合中的下一个或上一个模型重新渲染 View

javascript - 将我的 'IDs' 动态加载到我的 Backbone Collection 中?

javascript - 循环加载D3中的多个JSON文件: index is always the last one

javascript - D3图表执行错误

javascript - 如何使用 d3 生成任意数量的颜色?

javascript - angularjs-一个 Controller 在另一个 Controller 中的调用方法

javascript - 使用 jquery 动态调用现有的 div

javascript - CSS 悬停和 jquery

jquery - Marionette Composite View 数据填充错误