微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

beforeSave 不修改 request.object

如何解决beforeSave 不修改 request.object

我正在尝试通过云代码新用户添加一些额外的属性

Parse.Cloud.beforeSave(Parse.User,(request) => {
    if (!request.original) {
        // New user
        Parse.Config.get()
            .then((config) => {
                const ProfileIcon = Parse.Object.extend("ProfileIcon");
                const iconId = config.get("defaultProfileIcon");
                const user = request.object;
                // ...many user.set
                user.set("profileIcon",ProfileIcon.createWithoutData(iconId),{
                    useMasterKey: true,}); // Pointer
                // This will save as expected,but cause recursion
                // user.save({ useMasterKey: true });
            })
            .catch((err) => {
                console.error(err);
            });
    }
});

上面的代码触发并执行没有任何错误,但是当我检查数据库时,没有显示我的自定义属性。传递主密钥也没有任何作用。我该如何解决这个问题?
或者是因为来自客户端的请求(Android,无法访问主密钥),如果是这样,那么我如何为请求设置主密钥,因为 Parse.Cloud.useMasterKey() 已被弃用?

解决方法

此处,modifying object on save 没有提及任何关于 return 的内容,但 before save file 提及。所以我想我会试一试,结果它奏效了。仍然不确定这是否是正确的方法。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。