0
在以下代碼中,控制器在記錄「對象已被銷燬」的服務中運行一個函數。該函數返回一個承諾。然後.then()函數似乎在承諾完成之前運行
這一承諾的。然後(),在控制器,它記錄「已刪除」
「對象被破壞」應被第一次登錄,然後(在the.then())應該記錄「刪除」。不幸的是,好像「刪除」是先登錄的。
看起來好像承諾的.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();
});
}
什麼是'Parse.Query'是吧'$資源'或'http'調用? '$ resource'不返回承諾。 – Chandermani
我認爲Parse.Query本身是一個對象,但它具有承諾的函數(如get())。這裏是文檔:http:// sdsd(https://parse.com/docs/js/symbols/Parse.Query.html – bzupnick