Node.js 解析云代码函数响应成功不是一个函数
我试图从iOS客户端调用Parse Cloud函数,但response.success()函数似乎为空。我收到一个错误,说response.success不是服务器上的函数 这是我的解析云函数:Node.js 解析云代码函数响应成功不是一个函数,node.js,parse-platform,parse-server,parse-cloud-code,Node.js,Parse Platform,Parse Server,Parse Cloud Code,我试图从iOS客户端调用Parse Cloud函数,但response.success()函数似乎为空。我收到一个错误,说response.success不是服务器上的函数 这是我的解析云函数: Parse.Cloud.define("pruebaQuery", function(request, response) { const query = new Parse.Query("grupo"); query.equalTo("name", request.params.grupoNa
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");
});
});
有什么线索说明response.success()函数不起作用吗?自从解析服务器版本^3.0.0以来,云代码不再使用回调。您可以使用承诺函数或异步函数。下面是您应该如何更改云功能
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;
}
});
Parse.Cloud.define(“pruebaQuery”,异步请求=>{
constquery=newparse.query(“grupo”);
query.equalTo(“name”,request.params.grupoName);
让结果;
试一试{
结果=等待查询。查找();
for(设i=0;i
您是否使用最新版本的parse server(3.0)?他们改了,所以没有回应,就这样。谢谢!这是一个相当重要的变化,会使以前的许多问题/答案变得不正确。不过,移植并不广泛,您应该能够很好地理解它。云迁移指南:JS迁移指南:Parse.Promise被弃用,取而代之的是原生Promises+async/await。
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;
}
});