解析云代码查询不返回任何内容

时间:2014-08-06 19:14:00

标签: javascript parse-platform

我正在尝试在Parse上使用Cloud Code在添加新行时删除预先存在的行。

这是我放在一起的当前代码:

var queryGoals = new Parse.Query(Parse.Object.extend('Goal'));
queryGoals.include('user');
queryGoals.equalTo('user', request.user);

queryGoals.find({
    success: function(results) {
        console.warn('Query Returned: ' + results.length);
        Parse.Object.destroyAll(results);
    },
    error: function(user, error) {
        console.warn('Error ' + error.code + ': ' + error.message);
    }
});

控制台永远不会显示返回的记录数(我假设因为没有),也没有任何错误。当然,相同的代码(用户筛选器的Parse.User.current())会在客户端运行时返回预期的行数。

执行Cloud Code时查询的运行方式是否有所不同,或者我忽略了什么?

1 个答案:

答案 0 :(得分:5)

我向Parse提交了一个错误报告,最后发现函数在成功函数执行之前就已经结束,因为它是异步运行的。我添加了正确的promise结构,以使其按预期工作(Additional Details):

queryGoals.find(
{
    useMasterKey: true,
    success: function(results)
    {
        Parse.Object.destroyAll(results);
    },
    error: function(user, error)
    {
        console.warn('Error ' + error.code + ': ' + error.message);
    }
}).then(
    function(object)
    {
        // Do Post-Query Stuff Here
        response.success();
    },
    function(error)
    {
        console.warn('Error ' + error.code + ': ' + error.message);
    }
);