问题描述
我有一些解析云代码正在我的自托管服务器上运行,但我遇到了查询不执行任何操作的问题。我可以通过终端运行命令并取回数据,但是当我运行 query.find.. 没有任何反应。例如:
Parse.Cloud.job("getall",function(request,response) {
var itemStatus = Parse.Object.extend('MovieStatus');
var query = new Parse.Query(itemStatus);
query.find({
success: function(results) {
console.log(results.length)
response.success(results.length);
},error: function(err) {
response.error(err);
},useMasterKey : true
})
})
什么都没发生。没有错误没有反应。我添加了控制台日志以确保它至少被调用并且确实如此,但是由于某种原因,当我执行 query.find
我尝试了各种方法来找出问题所在,但这会影响我的所有云代码,因此它必须存在于其中。
解决方法
您使用的是旧语法。从 3.0 版开始,Parse Server 支持 async/await 样式。试试这个:
Parse.Cloud.job("getall",async request => {
const { log,message } = request;
const ItemStatus = Parse.Object.extend('MovieStatus');
const query = new Parse.Query(ItemStatus);
const results = await query.find({ useMasterKey: true });
log(response.length);
message(response.length);
})
这不是工作,也不是云代码功能。您可以使用 Parse Dashboard 调用此作业,您应该会在作业状态部分看到消息。