【问题标题】:Parse Cloud Code Save function not working解析云代码保存功能不起作用
【发布时间】:2016-03-23 01:24:51
【问题描述】:

我尝试在解析时实现重新发送电子邮件验证链接,为此我用现有的电子邮件 ID 更新了我的用户电子邮件 ID,我认为这会再次触发电子邮件验证。但是当我尝试使用管理员角色执行此操作时,我无法保存该对象。我搜索和各种帖子,但没有成功。

云代码:-

Parse.Cloud.define("resend_email_verification_link", function(request, response) {

Parse.Cloud.useMasterKey();
console.log("User name:" + request.params.user_find);
var user_name = request.params.user_find;

var mail_user = Parse.Object.extend("User");
var user_save = new mail_user();

var query_user = new Parse.Query(user_save);
query_user.equalTo('username', user_name);
query_user.find ({
    success: function(results) 
    {
        if (results.length > 0)
        {
            var email_user = "hemantsuthar20@gmail.com"; //results[0].get("email");
            //var email_user = results[0].get("email");
            console.log("Reults find for user name "+ user_name + "email Id:" + email_user);

            results[0].set("email", email_user);

            results[0].save(null, {
                success:function () {
                console.log("Successfully saved");
            },
                error:function (error) {
                console.log("Could not save" + error.message);
                }
            });

            console.log("Dont mess with me ");
            response.success();
        } else {
            response.error("No User Exists");
        }
    },
    error: function(error) {
        response.error("Query Failed.Error = "+ error.message);
    }
}); 
});

日志:-

I2015-12-16T18:48:15.750Z]v58 跑云功能 resend_email_verification_link 与: 输入: {"user_find":"rahulsmarty"} 结果:未定义

I2015-12-16T18:48:15.779Z]用户名:rahulsmarty

I2015-12-16T18:48:15.833Z] 搜索用户名 rahulsmartyemail 身份证号:hemantsuthar20@gmail.com

I2015-12-16T18:48:15.836Z]别惹我

请帮我解决这个问题。

【问题讨论】:

    标签: javascript android parse-platform parse-cloud-code


    【解决方案1】:

    首先,使用已存在的内容更新电子邮件字段不会触发 Parse 上的电子邮件验证重新发送。您需要先使用不同的内容更新该文件,然后使用原始电子邮件地址再次更新以触发验证电子邮件。为此,我建议使用像用户objectId 这样的唯一标识符来构建一个虚拟的临时电子邮件地址,比如objectId@objectId.com。首先将其保存到该字段,然后使用您的原始电子邮件地址再次更新。

    还请记住,当您在 Parse 上保存对象时,您需要等待该操作完成,然后才能在您的云代码中返回 response.success()。 Parse save() 函数是一个异步方法,这意味着当它返回时,它的操作不一定完成。 异步方法返回一个 Promise,您需要等待该 Promise 完成后才能返回 response.success() 或 response.error()。请务必阅读并理解 Prase 文档中的 Promise 概念:https://www.parse.com/docs/js/guide#promises

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-30
      • 1970-01-01
      • 1970-01-01
      • 2016-08-22
      相关资源
      最近更新 更多