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

zyn*_*nkn 6 javascript

我的代码:

export default (function () {
  (...)
  return {
    open: () => {
      (...)
    },
    close: () => {
      (...)
    },
    get: () => {
      (...)
    }
  }
})();
Run Code Online (Sandbox Code Playgroud)

我想这样调用close()in get()函数:

get: () => {
   close();
}
Run Code Online (Sandbox Code Playgroud)

我尝试使用,this但它不起作用.

请给我一些建议.

先感谢您.

Cer*_*nce 10

或者使用方法属性(对于哪些this规则将像标准非箭头函数一样工作):

export default (function () {
  (...)
  return {
    open() {
      (...)
    },
    close(){
      (...)
    },
    get() {
      (...)
      this.close();
    }
  }
})();
Run Code Online (Sandbox Code Playgroud)

或者在语句之前定义您希望能够交叉引用的所有函数return:

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

  const close = () => {
    (...)
  };
  return {
    open: () => {
      (...)
    },
    close,
    get: () => {
      (...)
      close();
    }
  }
})();
Run Code Online (Sandbox Code Playgroud)