![](/img/trans.png)
[英]I cannot access to response object in a cloud code function in parse-server?
[英]Parse Cloud Code Function Response Success is not a function
我试图从iOS客户端调用Parse Cloud函数,但response.success()函数似乎为null。 我收到一个错误,说response.success不是服务器上的函数。
这是我的Parse Cloud功能:
Parse.Cloud.define("pruebaQuery", function(request, response) {
const query = new Parse.Query("grupo");
query.equalTo("name", request.params.grupoName);
query.find()
.then((results) => {
for (let i = 0; i < results.length; ++i) {
var grupoId = results[i].get("grupoId");
console.log("GrupoId: " + grupoId);
}
response.success("Success pruebaQuery");
})
.catch(() => {
response.error("grupo lookup failed");
});
});
这是我从iOS客户端调用它的方式:
[PFCloud callFunctionInBackground:@"pruebaQuery" withParameters:@{@"grupoName": @"Kinder 3"}
block:^(NSString *object, NSError *error) {
if (!error) {
NSLog(@"CLOUDCode/SUCCESS: %@", object);
}
else {
NSLog(@"CLOUDCode/ERROR %@ code: %ld", error, (long)[error code]);
}
}];
任何线索为什么response.success()函数不起作用?
从解析服务器版本^ 3.0.0开始,云代码不再使用回调。 您可以使用promise或async函数。 以下是您应该如何更改云功能。
Parse.Cloud.define("pruebaQuery", async request=> {
const query = new Parse.Query("grupo");
query.equalTo("name", request.params.grupoName);
let results;
try{
results = await query.find();
for (let i = 0; i < results.length; ++i) {
let grupoId = results[i].get("grupoId");
console.log("GrupoId: " + grupoId);
}
} catch(error){
throw error.message;
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.