错误处理

Parse的大多数JavaScript函数会在回调中返回一个成功或失败的对象,类似于Backbone中的"options"对象。

successerror这两个回调中,每当操作完成且没有错误,就会调用seccesssaveget中,success通常会是一个Parse.Object;在find中,会是一个Parse.Object数组。当与云端交互结束后出现了任何错误,就会调用errorerror可能是连接云端的问题,也可能是执行请求操作的问题。

我们来看一个例子,在下面代码中,我们尝试去拉取一个云端不存在的对象,云端将会返回一个error,我们要根据error信息做相应的处理:

var query = new Parse.Query(Note);
query.get("aBcDeFgH", {
  success: function(results) {
    // 不会被调用
    alert("Everything went fine!");
  },
  error: function(model, error) {
    // error是一个包含了错误信息的Parse.Error实例
    if (error.code === Parse.Error.OBJECT_NOT_FOUND) {
      alert("Uh oh, we couldn't find the object!");
    }
  }
});

下面代码中的查询也会失败,因为设备没有连接到云端。我们需要增加一点代码来处理这个错误:

var query = new Parse.Query(Note);
query.get("thisObjectIdDoesntExist", {
  success: function(results) {
    // 不会被调用
    alert("Everything went fine!");
  },
  error: function(model, error) {
    // error是一个包含了错误信息的Parse.Error实例
    if (error.code === Parse.Error.OBJECT_NOT_FOUND) {
      alert("Uh oh, we couldn't find the object!");
    } else if (error.code === Parse.Error.CONNECTION_FAILED) {
      alert("Uh oh, we couldn't even connect to the Parse Cloud!");
    }
  }
});

对于像savesignUp这样会影响特定Parse.Object的方法,error方法的第一个参数将会是Parse.Object本身,第二个参数将会是Parse.Error对象。这是为了和类Backbone框架兼容。

要查看Parse.Eroor错误码列表,请查看错误码章节。

           updated 2018-06-18 07:47:22

results matching ""

    No results matching ""