如何在同一模块中调用函数

时间:2018-12-23 13:17:32

标签: javascript

我的代码:

export default (function () {
  (...)
  return {
    open: () => {
      (...)
    },
    close: () => {
      (...)
    },
    get: () => {
      (...)
    }
  }
})();

我想像这样在close()函数中调用get()

get: () => {
   close();
}

我尝试使用this,但不起作用。

请给我一些建议。

谢谢。

1 个答案:

答案 0 :(得分:10)

请改用 method 属性(this规则将与标准非箭头函数一样工作):

export default (function () {
  (...)
  return {
    open() {
      (...)
    },
    close(){
      (...)
    },
    get() {
      (...)
      this.close();
    }
  }
})();

或在return语句之前 定义要交叉引用的所有功能:

export default (function () {
  (...)

  const close = () => {
    (...)
  };
  return {
    open: () => {
      (...)
    },
    close,
    get: () => {
      (...)
      close();
    }
  }
})();