0

私は Backbone.js を使用しており、this.search.searchGoogle(searchTerm)他の関数呼び出しをトリガーするプライマリ関数呼び出しがある状態にあります。ただし、最初の関数呼び出しの次の行は、別の関数呼び出しthis.search.cleanView,. 問題は、1 次関数が完了する前に 2 番目の呼び出しが呼び出される場合があることです。

   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)

4

1 に答える 1

1

非同期の場合ではありません。searchGoogleコールバックを取得するか、イベントを発生させる必要があります。

于 2013-03-27T16:24:31.990 に答える