1
我有一個方法是使用evalAsync和我想設置一個最大等待時間來解決承諾,如果等待時間達到最大超時那麼承諾將是解決並返回空。有關如何完成此任何想法?
很難找到解決方案,因爲每個搜索條件evalasync和超時,「污染」結果$超時。
if (angular.isFunction(this.search)) {
this.cancellation = this.$q.defer<void>();
this.$scope.$evalAsync(() => {
const searchArgs= {
value: this.value,
cancellation: this.cancellation.promise
};
const result = this.search(args);
});
}
};
由於
請張貼您的代碼。 – Karim
我建議使用'setTimeout'(不是'$ timeout'來防止一個新的摘要循環,並且在這個$ scope。$ evalAsync'之外拒絕'this._cancellation', –
@AlonEitan你能給出一個這個建議的例子嗎? – Javiere