次のコードでは、コントローラーは「オブジェクトが破棄されました」をログに記録するサービスで関数を実行します。その関数は promise を返します。
そのプロミスの .then() で、コントローラーで、「削除済み」をログに記録します
最初に「オブジェクトが破棄されました」がログに記録され、次に (.then() で) 「削除済み」がログに記録されます。残念ながら、「削除済み」が最初に記録されているようです。
関数が完了する前に、promise の .then() が実行されているようです。
app.js
this.deleteData = function (db, objectId) {
var database = Parse.Object.extend(db);
var query = new Parse.Query(database);
return query.get(objectId, {
success: function (result) {
result.destroy({
success: function (result) {
console.log("object was destroyed");
},
error: function (result, err) {
console.log("object was not destroyed");
console.log(err);
}
});
},
error: function (result, err) {
console.log(err);
}
});
}
コントローラ
function ResourcesCtrl ($scope, globalFunctions, CRUD) {
$scope.deleteResource = function (objectId) {
CRUD.deleteData('resources', objectId).then(function (result2) {
console.log("deleted");
refreshResources();
});
}