我正在使用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)
?
答案 0 :(得分:1)
不是它的异步。您必须让searchGoogle
接听回电或举起活动。