javascript - 为用户解析 beforeDelete

标签 javascript parse-platform

我对所有其他类(我创建的类)使用类似的代码,beforeDelete 和 afterDelete 对它们工作得很好。

但是对于 User 类来说,这两个函数似乎不起作用。删除User类中的对象有什么特殊的事情吗?还有其他方法吗?

这是我的代码:

main.js

Parse.Cloud.define("delete_user", delete_object.deleteUser);
Parse.Cloud.beforeDelete("User", triggers.userBeforeDelete);
Parse.Cloud.afterDelete("User", triggers.userAfterDelete);

删除.js

function deleteObject(className, objectId) {
    Parse.Cloud.useMasterKey();
    var query = new Parse.Query(className);
    var promise = new Parse.Promise();

    query.get(objectId ,{
        success: function(result){
            var object = result;
            object.destroy({
                success: function(myObject) {
                    promise.resolve(myObject);
                // The object was deleted from the Parse Cloud.
                },
                error: function(myObject, error) {
                    console.log('Error couldnt delete the object ' + error.message);
                    promise.reject(error);
                }
            });  
        },
        error: function(newObject, error){
            console.log("Error couldnt get the object: " + error.code + " " + error.message);
            promise.reject(error);
        }
    });

    return promise;
}

function deleteUser(request, response) {
    Parse.Cloud.useMasterKey();
    console.log('Entered deleteUser');

    var objectId = request.params.objectId;
    var returnValue = deleteObject('User', objectId).then(function() {
        if (returnValue) {
            console.log('userDelete completed');
            response.success(true);
        } else {
            response.error(returnValue);
        }
    }, 
    function (error) {
        console.error('Request failed with response code ' + error.status);
        response.error(false);
    }); 
}

触发器.js

function userBeforeDelete(request) {
    console.log('Entered userBeforeDelete');
}

function userAfterDelete(request) {
    console.log('Entered userAfterDelete');
}

通常应该打印“输入的deleteUser”,然后打印“输入的userBeforeDelete”和“userDelete完成”之后

但它跳过“输入的 userBeforeDelete”并仅打印出“输入的删除用户”和“用户删除已完成”,并成功删除用户。

我对其他类(例如评论、卡片、内容)使用了相同的代码,它们都工作正常。 我希望能够在删除用户之前和删除用户之后执行一些操作。

最佳答案

尝试使用 Parse.User,而不是“User”(对名为 User 的程序员定义的类执行此操作的方式),如下所示......

Parse.Cloud.beforeDelete(Parse.User, function(request, response) {

关于javascript - 为用户解析 beforeDelete,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28843707/

相关文章:

javascript - 如何访问 Sequelize 对象的运算符属性?

ios - AWS SNS 推送通知定价过高?

swift - 从解析到按钮操作的 url

arrays - 如何在多个数组的索引处保存多个元素?

android - 如何在 Android 中使用解析使用内部查询获取数据?

javascript - 延迟的可逆转换

javascript - Angular UI 网格 - 根据过滤器选择所有内容

javascript - 使用 Protractor 从一个单页 Angular 应用程序导航到另一个 Angular 应用程序会给出 "javascript error: document unloaded while waiting for result"

java - 无法使用 Thymeleaf 渲染对象 : Property or field cannot be found on object of type 'org.parse4j.ParseObject' - maybe not public?

javascript - Google 跟踪代码管理器中的简单 DOM 属性匹配