繁体   English   中英

解析云代码功能响应成功不是一个功能

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM