我正在尝试使用 Cloud Code on Parse 在添加新行时删除预先存在的行。
这是我放在一起的当前代码:
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 执行查询时,查询的运行方式是否有所不同,还是我忽略了什么?
最佳答案
我用 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);
}
);
关于javascript - 解析云代码查询不返回任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25168359/