Node.js客户端与服务器 - 相同的代码不同的结果

时间:2015-10-22 10:19:24

标签: javascript node.js parse-platform

我在客户端和服务器上有以下代码,但它给了我不同的结果。客户端上的代码是正确的。

代码:

var Query = Parse.Object.extend("ParseTable");
var query = new Parse.Query(query);
query.equalTo("user", {
            __type: "Pointer",
            className: "_User",
            objectId: ID
        });
query.find().then(function (object) {
//where//object = [child] = [{user: child}]

var testObject = _.map(object, function (a) {
                console.log("inside testObject", a.get("user").id);
               //correctly shows 'someId' on both the server and client!

               return _.extend(_.find(a), {sTId: a.id}, {mId: a.get("user").id});});

               //where//testObject = [{user:child, sTId: 'abc123', mId: 'someId'}];
               console.log( _.first(testObject).mId);//'someId' on the client and 
               //'undefined' on the server});

我迷失了我的错误,除了SO社区之外我没有任何人可以提供帮助。感谢。

1 个答案:

答案 0 :(得分:0)

上面的代码已经工作了很长时间,而且由于我不了解的原因,我无法让它工作。我决定继续使用以下解决方案来测试对象'上方。

var Query = Parse.Object.extend("ParseTable");
var query = new Parse.Query(query);
query.equalTo("user", {
            __type: "Pointer",
            className: "_User",
            objectId: ID
        });
query.first().then(function (object) {//notice first instead of find at the end of the query!

var testObject = {};
testObject.sTId = object.id;
testObject.mId = object.get("user").id;
testObject.user = object.get("user");
})

无论如何,这最终会得到一个更好的解决方案,干净整洁,更容易阅读!