在以下代码中,控制器在记录“对象已销毁”的服务中运行一个函数。该函数返回一个承诺。
在该承诺的 .then() 上,在控制器中,它记录“已删除”
应该首先记录“对象被销毁”,然后(在.then() 中)它应该记录“已删除”。不幸的是,似乎首先记录了“已删除”。
似乎 .then() 的 promise 是在函数完成之前运行的。
应用程序.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();
});
}