Ich bin ein neuer Entwickler und arbeite an einem ziemlich komplexen Szenario, wo, wenn der Benutzer spart, könnte es eine Sperre geben und der Benutzer hat die Chance, das Schloss zu überfahren. Wenn es eine Sperre gibt, da REST staatenlos ist, ist das Objekt, das ich auf dem PUT gesendet habe, verloren gegangen, so dass ich dem Benutzer erlauben muss, das Schloss zu überfahren und dann die Put-Anfrage erneut zu machen.verschachtelte Versprechen - besserer Weg?
In der zweiten if-Prüfung können Sie sehen, dass ich eine verschachtelte Versprechen habe. Von dem, was ich über Versprechungen und Rückrufe weiß, vereitelt dies den Zweck, Versprechungen zu verwenden. Ich las einige andere Antworten durch, verstand aber nicht das Konzept, ein Versprechen im inneren/verschachtelten Versprechen zurückzugeben. Wie kann ich den unten stehenden Code umgestalten, damit er mehr mit Best Practices übereinstimmt und keine Versprechen einnistet?
//the user chooses to over ride someone else's lock
$scope.$on('forceLockAfterModalSubmit', function (e, data) {
if (!$scope.newItemCreatedIsLocked) {
$scope.setLockForCurrentUser();
$scope.editMode = true;
}
if ($scope.newItemCreatedIsLocked) {
service.forceLock($scope.id).then(function() {
itemService.updateItem($scope.itemForRequestBeforeLockResponse).then(function() {
$scope.postPUTRequestActions($scope.itemForRequestBeforeLockResponse);
})
}, function (err) {
console.log(err);
})
}
})
mögliches Duplikat von [Entfernen verschachtelter Versprechen] (http://stackoverflow.com/a/22000931/1048572) – Bergi