如何在第一个函数结束后触发函数调用



我正在与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)完成?

如果是async,则不可以。您必须使searchGoogle接受回调或引发事件。

相关内容

  • 没有找到相关文章

最新更新