【问题标题】:clarify Javascript Callback flow [closed]澄清Javascript回调流程[关闭]
【发布时间】:2017-10-27 02:48:31
【问题描述】:

我有几个带有多个回调的不同代码路径。

this.confirmJWT(
  function() {
    this.confirmVendorCode(
      function() {
        this.downloadFile(FORECAST);
      }.bind(this)
    );
  }.bind(this)
);

我知道人们称这个回调为地狱(实际上刚刚找到 http://callbackhell.com/),但我正在寻找编写此浏览器代码的首选方式。

【问题讨论】:

  • 如果您不告诉我们代码在做什么(例如,通过显示使用的函数的实现),我们不能建议您更改任何内容而不会有破坏功能的风险。
  • 对于Code review来说可能是一个更好的问题

标签: javascript callback asynccallback


【解决方案1】:

使用 ES6 编写它会使其更短,但可能不那么可读。

this.confirmJWT(() => this.confirmVendorCode(() => this.downloadFile(FORECAST)));

【讨论】:

  • this 的上下文在箭头函数和函数声明中是不同的。有没有办法知道这不会破坏功能?
  • @DanMandel,因为箭头函数只是从它们的父级继承this,而OP的示例是绑定父级this,它们都使用相同的this
  • 是的,这确实使编写匿名函数看起来更好。
猜你喜欢
  • 2012-11-09
  • 2017-02-14
  • 2015-03-29
  • 2022-01-03
  • 2013-02-18
  • 1970-01-01
  • 2017-12-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多