[英]How do I make restangular promise sequential?
我正在嘗試通過Restangular,Angular-ui-utils進行帶有后端驗證的表單,但是我無法弄清楚如何在繼續使用該函數之前強制Restangular的諾言完成,因此我的程序不斷返回空值。
這是我的代碼
HTML:
...
<form> <input name="name"
ng-model="name"
ui-validate="{uniqueName: 'uniqueName($value)'}">
Is name duplicated? {{form.name.$error.uniqueName}}</input>
</form>
...
Javascript:
...
function myCtrl($scope,Restangular) {
...
$scope.uniqueName(value) {
var checkResult;
Restangular.one('service').one('validate',value).get().then(function(result){
checkResult = result;
}
return checkResult;
}
...
}
Rest Serice的輸出確實很簡單,如果名稱不在數據庫中,則為“ false”,否則為“ true”。
由於驗證唯一名稱的調用是異步的。 您不能通過返回checkResult
來實現。
ui-validate我認為對諾言的支持。 所以你返回類似
$scope.uniqueName(value) {
return Restangular.one('service').one('validate',value).get();
}
我相信這應該是一個承諾。 如果您使用的是ui-validate
正確版本,則應該可以使用。 檢查此提交https://github.com/angular-ui/angular-ui/issues/257 ,它會在api中添加對promise的支持。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.