我认为我在.play()函数中误解了一些东西。我花了好几天试图解决这个问题。
我在main.js中有一个函数的Define设置。
var pvp_module = require('cloud/otherCode.js');
function pushBattleMessage_sum(request, response)
{
pvp_module.PushNotification_BattleMessageExport(request, response);
}
Parse.Cloud.define("PushNotification_BattleMessage", pushBattleMessage_sum);
这将它发送到另一个运行代码的otherCode.js。在该代码中,我需要调用第二个云函数。
function PushNotification_BattleMessage(request, response)
{
Parse.Cloud.run("push_httpRequest",{request},
{
sucess: function(results)
{
response.success(results);
},
error: function(error)
{
response.error(error);
}
});
}
第二个云功能在main.js
中定义Parse.Cloud.define('push_httpRequest',function(request)
{
Parse.Cloud.httpRequest(
{
url: 'http://www.parse.com/',
success: function(httpResponse)
{
console.log(httpResponse.text);
},
error: function(httpResponse)
{
console.error('Request failed with response code ' + httpResponse.status);
}
});
});
我在网上找到的所有内容都告诉我这应该有效但在我的testharness html中我总是收到错误"未捕获的ReferenceError:push_httpRequest未定义"
此代码的目的是Android要求声明推送通知图标必须为黑白。我无法使用服务器端解析来初始化该更改,因此我们通过httpRequest为GCM设备提供推送通知。如果我能够获得第一个Cloud函数来找到第二个函数,我应该能够将所有这些完全结合在一起。
答案 0 :(得分:0)
就我在文档中看到的而言,define
对象的Parse.Cloud
方法需要一个应该采用两个参数的函数。您的函数push_httpRequest
未正确定义。来自Parse documentation:
define( name, func )
定义云功能。
仅适用于Cloud Code。参数:
- 名称
<String>
云功能的名称- func
这两个参数<Function>
要注册的云功能。此函数应采用Parse.Cloud.FunctionRequest
和Parse.Cloud.FunctionResponse