Parse.com失败:ReferenceError

时间:2015-02-20 19:25:23

标签: javascript parse-platform

我正在尝试在Cloud Code中运行以下解析后台作业

   Parse.Cloud.job("sendAlert", function(sendAlert) {
     Parse.Push.send({
       data: {
       "content-available": 1,
       }
     }, {
     success: function() {
   status.success("Push Worked!!!");
   },
   error: function(error) {
    status.error("Uh oh, something went wrong.");
   }
  });
 });

运行时的预期结果是"透明" (用户看不到,但应用程序看到)推送发送给用户。

当我运行它时,我收到错误

  

工作:       请将SendAlert   E2015-02-20T19:17:22.637Z] v17:Ran job sendAlert:     输入:{}     失败:引用错误:未定义状态       在Object.Parse.Push.send.error(main.js:12:5)       在Parse.js:2:7940       在f(Parse.js:2:6852)       在Parse.js:2:6344       at Array.forEach(native)       在Object.x.each.x.forEach [as _arrayEach](Parse.js:1:661)       在c.extend.reject(Parse.js:2:6297)       在Parse.js:2:6956       在f(Parse.js:2:6852)       在Parse.js:2:7386

在日志中。我究竟做错了什么?谢谢,并欣赏它 - 在这里完全解析新手。

1 个答案:

答案 0 :(得分:1)

如果您在代码中查找单词status,您会发现自己没有在任何地方声明它。一个名为status的变量不能无处不在,所以这就是你得到一个ReferenceError的原因。

根据documentation,传递到Parse.Cloud.job()回调的第二个参数是一个JobStatus对象,其errorsuccess方法,所以似乎是你想要使用的是什么:

//                       declare it here   ---------v
Parse.Cloud.job("sendAlert", function(sendAlert, status) {
    Parse.Push.send({
        data: {
            "content-available": 1,
        }
    }, {
        success: function() {
            status.success("Push Worked!!!");
        },
        error: function(error) {
            status.error("Uh oh, something went wrong.");
        }
    });
});