通常,我声明一个成功的函数和失败的回调如下
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一样失败回调呢?
你只需要改变你的函数来接受一个回调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) { } });
但请注意,在尝试调用它们之前,您的代码应检查以确保传入的对象具有这两种方法.