使用嵌套/链式保存解析无响应

时间:2016-10-16 23:20:01

标签: javascript parse-platform promise

所以我有两个我要保存的物品。但是,我想在另一个(b)上存储一个对象(让我们称之为a)的引用,所以我先保存'a'然后保存完成后,在设置引用后保存对象'b'进入适当的领域。但是,虽然看起来响应了.sccess访问行,但是调用者不会触发成功/错误功能。它只是挂起和超时。

来电者代码如下所示

  Parse.Cloud.run('createObject', params).then( 
    (success) => { //neither are called, timeout results
      console.log("Success!");
    }, (error) => { //neither are called, timeout results
      console.log("Error!");
    }
  );

来自'createObject'的代码片段,导致无法发送响应

    newA.save().then(function(objA) {
      newB.set('refA', objA);
      return newB.save();
    }, function(error) {
      response.error(
            utils.sformat(
              'Error saving new A with params {1}: {0}',
              JSON.stringify(request.params),
              JSON.stringify(error)
            )
          );
    }).then(function(objB) {
      response.success({
        b: objB
      });
    }, function(error) {
      response.error(
            utils.sformat(
              'Error saving new B with params {1}: {0}',
              JSON.stringify(request.params),
              JSON.stringify(error)
            )
          );
    });

现在,如果我执行类似批量保存的操作并拥有一个objectA和objectB数组并调用Parse.Object.saveAll,它会通过并且有一个响应......但是如果我想要的话我不能完全使用它该参考被设定。我很困惑为什么在保存链接/嵌套时没有发送响应。

我遇到的最大问题是,对象既可以正确又正确地创建和保存100%。所以我真的不确定为什么这个代码会挂起。

编辑:我忘记提及但是objectA有一个后退触发器。但它的全部功能是打印出一些测试线并禁用它似乎没有改变任何东西。

1 个答案:

答案 0 :(得分:1)

它确实有效。问题是我在response.success调用中有一个函数,用于在发送回来之前格式化对象,但由于我试图访问的东西,我得到了一个nullpointexception。我没有打开详细记录,所以解析从来没有告诉我这种情况正在发生。

上面的代码可以正常工作。