javascript - 如何像 Parse 那样声明回调?

标签 javascript node.js parse-platform

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

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 Guide 时,他们指导我使用这样的函数(即在一个对象中合并成功和失败回调?)

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) {
    }
});

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

关于javascript - 如何像 Parse 那样声明回调?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34595542/

相关文章:

javascript - 添加新行后,React.js 从 Mongo DB 更新表

javascript - 最常用的生成 PDF 报告的方法(JavaScript、node.js)?

node.js - 使用 Node.js 创建 google 云存储对象的 SignedURL

javascript - 无法通过网页上传数据到 Parse.com

ios - 可以给UILabel打电话吗?

Javascript 在父跨度上选择跨度并使用通配符

javascript - 当用户突出显示文本时如何防止模态显示?

javascript - 通过表单提交数据时页面不断刷新

node.js - npm:子依赖项从哪里来?

c# - Parse.com - 如何从 C#/Unity 中的类中获取所有对象?