Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Parse.com云代码函数返回success promise中未定义的_Javascript_Parse Platform_Promise_Parse Cloud Code - Fatal编程技术网

Javascript Parse.com云代码函数返回success promise中未定义的

Javascript Parse.com云代码函数返回success promise中未定义的,javascript,parse-platform,promise,parse-cloud-code,Javascript,Parse Platform,Promise,Parse Cloud Code,以下是我的云代码函数的外观: Parse.Cloud.define("usePromotionCode", function (request, response) { Parse.Cloud.useMasterKey(); var promotionCode = request.params.promotionCode; if (promotionCode == null) { response.error("Promotion code must be

以下是我的云代码函数的外观:

Parse.Cloud.define("usePromotionCode", function (request, response) {
    Parse.Cloud.useMasterKey();
    var promotionCode = request.params.promotionCode;
    if (promotionCode == null) {
        response.error("Promotion code must be specified!");
    } else {
        var promotionCodeQuery = new Parse.Query("Invite");
        promotionCodeQuery.equalTo("promotionCode", promotionCode);
        promotionCodeQuery.equalTo("used", false);
        promotionCodeQuery.first().then(
            function (invite) {
                if (invite !== undefined) {
                    console.log("Successfully found the invite. Promoting the user");
                    response.success("true");
                } else {
                    console.error("Found invite but it is undefined");
                    response.error("Invalid promotion code");
                }
            },
            function (error) {
                response.error("Invalid promotion code: " + error);
            }
        );
    }
});

以下是日志的适当部分:

E2015-07-09T10:07:13.617Z]v142 Ran cloud function usePromotionCode for user fYHD27Er76 with:
  Input: {"promotionCode":"ThHuf1rhqmfSmfi"}
  Result: Invalid promotion code
I2015-07-09T10:07:13.785Z]Found invite but it is undefined
似乎查询承诺会以成功响应进行解析。但是,从日志中可以看到,它传递的
invite
变量为null。有趣的是,我可以确认该对象确实存在于具有该升级代码的服务器上,并且used=false。
这个问题与另一个问题类似,只是我的代码使用承诺,仍然存在问题,并且是一个云代码函数,而不仅仅是一个javascript函数

查询成功解析承诺,但仍传递空/未定义的对象,这是预期的行为吗?如果没有,我做错了什么?
请注意,我用一个
count()
替换了
first()
,并且通过一个(非null)值1传递的计数成功地解析了承诺。这再次确认该对象确实存在于服务器上

我还尝试了
成功:
错误:
回调方法,与Javascript承诺相反,但它也不起作用。

我只是尝试了一下,但问题依然存在!else块仍在执行,因此在promise解析过程中似乎传递了
未定义的
变量。我正在相应地更新我的问题。您是否通过打印
invite
从parse获得响应?您已经提到“count”返回非null,因此您可以使用
count
而不是
first
对吗?从技术上讲,是的,但在我的情况下,我需要对检索到的invite对象执行操作,我已删除这些操作以用于测试。是
未定义的
还是
null
?您的日志与代码不同。它未定义。很抱歉不匹配,代码已更新,以响应先前删除的注释。我现在将更新日志。