각도 응용 프로그램에서 일련의 함수를 호출하려고합니다. 각 함수는 다음 값의 입력이됩니다. 개념적으로는이 같은 것입니다 :매개 변수가 전달 된 각도 약속 체인
$scope.createPanel = function() {
var primer3_parameter_id = primer3FromDesignSetting($scope.selector.designSetting);
var panel = getPanelData(primer3_parameter_id);
Restangular.all('batches').post(panel).then(function(batch) {
createBatchDetailRows(batch);
});
};
나는이 때문에 원격 호출의 비동기 특성으로 작동하지 않습니다 발견했다 : 그들은 실제 결과보다는 약속을 반환합니다.
는 내가 같은 것을 할 필요가 가정
$scope.createPanel = function() {
primer3FromDesignSetting($scope.selector.designSetting)
.then(getPanelData(primer3_parameter_id))
.then(postPanel(panel)) // the Restangular call wrapped into a new function
.then(createBatchDetailRows(batch))
.catch(function(err) {
// error handler
}
};
function primer3FromDesignSetting(designSetting) {
var primer3Parameter = _.clone(Restangular.stripRestangular(designSetting));
primer3Parameter = _.omit(primer3Parameter,panelFields);
delete primer3Parameter.id;
Restangular.all('primer3_parameters').post(primer3Parameter).then(function(newPrimer3Parameter)
{
return newPrimer3Parameter.id;
}, function(error) {
console.log(error);
});
}
$scope.createPanel();
그러나 나는 아주 올바른 구문 주위에 내 머리를 얻을 수 없습니다.