当前位置:  开发笔记 > 编程语言 > 正文

如何像Parse一样声明回调呢?

如何解决《如何像Parse一样声明回调呢?》经验,为你挑选了1个好方法。

通常,我声明一个成功的函数和失败的回调如下

function yoyoyo(param, successCallback, failCallback) {
  // do something with param
  // ...
  if (success) {
    successCallback('success');
  } else {
    failCallback('fail');
  }
}

然后我会像这样使用它

yoyoyo('abc', function(success) {
  console.log(success);
}, function(err) {
  console.log(err);  
});

但是,当我查看Parse Javascript指南时,他们引导我使用这样的函数(即在一个对象中合并成功和失败回调?)

var GameScore = Parse.Object.extend("GameScore");
var query = new Parse.Query(GameScore);
query.get("xWMyZ4YEGZ", {
  success: function(gameScore) {
    // The object was retrieved successfully.
  },
  error: function(object, error) {
    // The object was not retrieved successfully.
    // error is a Parse.Error with an error code and message.
  }
});

如何通过成功声明我的函数并且像parse一样失败回调呢?



1> 小智..:

你只需要改变你的函数来接受一个回调arg(无论你想要什么),然后访问该对象的处理程序:

function yoyoyo(param, callbacks) {
  // do something with param
  // ...
  if (success) {
    callbacks.success('success');
  } else {
    callbacks.error('fail');
  }
}

然后你会用它来称呼它:

yoyoyo('abc', {
    success: function(status) { 
    },
    error: function(status) {
    }
});

但请注意,在尝试调用它们之前,您的代码应检查以确保传入的对象具有这两种方法.

推荐阅读
低调pasta_730
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有