解析云代码给我代码:141 错误

Posted

技术标签:

【中文标题】解析云代码给我代码:141 错误【英文标题】:Parse cloud code giving me Code: 141 error 【发布时间】:2014-03-24 17:45:54 【问题描述】:

我的 Parse 云代码的结构如下:

Parse.Cloud.define("eBayCategorySearch", function(request, response) 
          url = 'http://svcs.ebay.com/services/search/FindingService/v1?SECURITY-APPNAME=*APP ID GOES HERE*';

        Parse.Cloud.httpRequest(
            url: url,
            params: 
             'OPERATION-NAME' : findItemsByKeywords, 
             'SERVICE-VERSION' : '1.12.0', 
             'RESPONSE-DATA-FORMAT' : JSON, 
             'callback' : _cb_findItemsByKeywords,
             'itemFilter(3).name=ListingType' : 'itemFilter(3).value=FixedPrice',
             'keywords' : request.params.item,

              // your other params
           ,
            success: function (httpResponse) 
            // deal with success and respond to query
,
            error: function (httpResponse) 
                console.log('error!!!');
                console.error('Request failed with response code ' + httpResponse.status);
            
       );
);

我从我的 ios 应用程序中调用该函数,如下所示:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender

    if (sender != self.nextButton) return;
    if (self.itemSearch.text.length > 0) 

        [PFCloud callFunctionInBackground:@"eBayCategorySearch"
                           withParameters:@@"item": self.itemSearch.text
                                    block:^(NSNumber *category, NSError *error) 
                                        if (!error) NSLog(@"Successfully pinged eBay!");
                                        

                                    ];


    

    // Get the new view controller using [segue destinationViewController].
    // Pass the selected object to the new view controller.


基本上我想做的是将用户输入的任何搜索查询输入到 itemSearch 字段中,ping eBay 的数据库,然后返回具有最多结果的 categoryID。但是,Parse 没有记录“Successfully ping eBay!”,而是给出以下错误:Error: function not found (Code: 141, Version: 1.2.18)

【问题讨论】:

云函数不应该返回一些东西吗?像 response.success("something");或任何你想返回的东西...... 【参考方案1】:

我猜这个函数本身有问题。我已经看到了该错误消息的几个示例,实际上是功能出现故障,而不是丢失。

在云代码指南中,我找到了这个例子:

Parse.Cloud.define("averageStars", function(request, response) 
  var query = new Parse.Query("Review");
  query.equalTo("movie", request.params.movie);
  query.find(
    success: function(results) 
      var sum = 0;
      for (var i = 0; i < results.length; ++i) 
        sum += results[i].get("stars");
      
      response.success(sum / results.length);
    ,
    error: function() 
      response.error("movie lookup failed");
    
  );
);

此函数根据状态调用 response.success 和 response.error。你的好像没有。

【讨论】:

【参考方案2】:

检查您的成功功能。它没有调用 `response.success(); .

还可以转到仪表板并检查您的函数是否真的在 main.js 更新,因为错误消息显示“函数未定义”。

【讨论】:

【参考方案3】:

我自己也被抓到了。我的问题很简单

使用parse new 时出错,最终创建了一个名为“3”的新项目,而不是处理列表中的第三个项目。所以我的 Cloud Code 函数没有上传到我正在开发的应用程序中

【讨论】:

以上是关于解析云代码给我代码:141 错误的主要内容,如果未能解决你的问题,请参考以下文章

解析服务器云代码查询语法错误 141

解析云代码嵌套查询时未调用代码 141 成功/错误消息

AWS EC2 上的解析服务器在云代码上给出 141 错误

解析云代码错误 - “需要主密钥”?

如何在解析服务器上创建和调用云代码函数?

错误代码 100 适用于 iOS 的解析 SDK