Promises

除了回调,Parse JavaScript SDK的所有异步方法,都返回一个Promise。通过promise,你的代码会比在回调中嵌套代码清晰很多。

举例

假设我们想保存一个Parse.Object,这是一个异步的操作,回调式的写法是这样的:

  1. object.save({ key: value }, {
  2. success: function(object) {
  3. // the object was saved.
  4. },
  5. error: function(object, error) {
  6. // saving the object failed.
  7. }
  8. });

而在Promise的链式写法中,是这样的:

  1. object.save({ key: value }).then(function(obj){
  2. //保存成功
  3. }).catch(err=>{
  4. //保存失败
  5. })
  6. //译者补充两个写法
  7. object.set('key',value)
  8. object.save().then(obj=>{/* ... */}).catch(function(err){/*...*/})
  9. //或
  10. object.set('key',value).save(obj=>{/*...*/},err=>{/*...*/})

如果你尚不了解Promise用法,可以参考此教程Promise对象