Javascript 解析Node.js中的更新行

Javascript 解析Node.js中的更新行,javascript,node.js,parse-platform,Javascript,Node.js,Parse Platform,我正在尝试运行以下代码: exports.updateProfile = function(req, res) { var Profile = Parse.Object.extend("Profile"); var query = new Parse.Query(Profile); query.equalTo("username", req.body.username); query.first({ success: function(Profil

我正在尝试运行以下代码:

exports.updateProfile = function(req, res) {
    var Profile = Parse.Object.extend("Profile");
    var query = new Parse.Query(Profile);
    query.equalTo("username", req.body.username);
    query.first({
        success: function(Profile) {
            Profile.save(null, {
                success: function(profile) {
                    profile.set(req.body, { //It breaks here...
                        success: function(object) {
                            res.send({"error":"none"});
                        },
                        error: function (object, error) {
                            res.send({"error":"Error: " + error.code + " " + error.message});
                        }
                    });
                },
                error: function (object, error) {
                    res.send({"error":"Error: " + error.code + " " + error.message});
                }
            });
        },
        error: function (object, error) {
            res.send({"error":"Error: " + error.code + " " + error.message});
        }
    });
}
但是,在“It break here”行中既不调用success方法也不调用error方法。使用Node.js更新解析行有什么想法或更好的方法吗?谢谢

exports.updateProfile = function(req, res) {
    var Profile = Parse.Object.extend("Profile");
    var query = new Parse.Query(Profile);
    query.equalTo("username", req.body.username);
    query.first().then(function(Profile){
        Profile.set("columnName", value);//value might be you are getting from req.body 
        Profile.save().then(function(saved){
            res.send({"error":"none"});
        }, function(error){
            res.send(error);
        });
    }, function(error){
        res.send(error);
    });
}

这可能就是你要找的东西。尝试这种方法,希望它能有所帮助。您正在保存一个尚未修改的对象,这可能是它没有返回回调方法的原因。重构代码以删除无效的save调用。

是否故意引入嵌套来演示错误?如果没有,您可能需要进行一些重构。@以及如何进行重构?首先,在我看来,您所有的错误回调都是相同的。在顶部写一个名为errorCallback的函数或其他什么,每次都引用它<代码>函数errorCallback(){…},然后稍后:
错误:errorCallback
。很抱歉,我无法帮助解决您的实际问题,我对Node不是很熟悉。似乎仍然不起作用或未命中错误函数。这就是问题所在,没有错误。它没有输出任何东西。使用console.log(错误);然后转到云代码并向我粘贴错误。或者简单地将错误发送到客户端,以便您可以在响应中看到它。从您可以看到的Parse dash中检查服务器日志,这将在那里我看不到服务器日志的位置。