我要求解析器, 在服务器端(云代码),有没有办法调用其他函数中定义的函数?不应在客户端上调用函数
Parse.Cloud.define("getProfiles", function(request, response) {..})
Parse.Cloud.define("otherFunction', function(request){
//call to getProfiles })
答案 0 :(得分:2)
这可以通过开发策略解决。我一直习惯使用// this is just a "wrapper" for the simple JS function
Parse.Cloud.define("getProfiles", function(request, response) {
// the only thing I allow to happen here is:
// 1) unwrap params...
var param = request.params.param;
// 2) call an unwrapped function by the same name (this assumes it returns a promise)
getProfiles(param).then(function(result) {
// invoke response success and error
response.success(result);
}, function(error) {
response.error(error);
});
});
// always have an unwrapped function named identically
function getProfiles(param) {
// do some work and (usually) return a promise
}
作为包装外部调用函数的方法,总是按如下方式构建和命名它们......
return 1 + compareTrials(trial, current);
云中的其他功能,包裹或解包,现在可以直接调用未包装的功能。
答案 1 :(得分:1)
Cloud code documentation建议按如下方式调用已定义的函数:
您可以使用Parse.Cloud.run
。
Parse.Cloud.run("getProfiles ", {
//here you can pass the function request parameters
userId: user.id
}).then(function(result) {
//here you will handle the returned results (if function returned response.success())
console.log(result);
}, function(error) {
//handle errors if called function returned response.error()
console.error(error);
});
希望有所帮助