如何在第一个函数完成后触发函数调用

时间:2013-03-27 16:22:48

标签: javascript backbone.js event-handling

我正在使用Backbone.js,我处于一个主要函数调用this.search.searchGoogle(searchTerm)的情况,它会触发其他函数调用。但是,我的主要函数调用之后的下一行是另一个函数调用this.search.cleanView。问题是有时在主要功能完成之前调用第二个调用。

   addNewPlace: function(e) {

      var searchTerm = this.$el.find("input").val();
      var poi = new vrboPoi({
        title: searchTerm,
        lat: this.options.vrbo_place.lat,
        lng: this.options.vrbo_place.lng
      });


      var target = $(e.target),
           index = target.closest("ul.pois").children().index(target.parent())
      this.search = new match({
        model: poi
      });

      this.search.render();

      this.search.searchGoogle(searchTerm);           
      this.search.bind("place:selected", this.placeSelected, this);

      // setTimeout( 
      //   this.search.cleanView, 500 
      //  );
      e.preventDefault();
  }

有没有办法阻止在this.search.cleanView完成之前调用this.search.searchGoogle(searchTerm)

1 个答案:

答案 0 :(得分:1)

不是它的异步。您必须让searchGoogle接听回电或举起活动。