JavaScript 绑定:我做的一切都对吗?

JavaScript bind: Am I doing everything right?

提问人:user22401683 提问时间:8/17/2023 最后编辑:user22401683 更新时间:8/17/2023 访问量:20

问:

我对回调函数的语法感到困惑。

class SomeClass {
   #privateVar;
   #axiosDefaultOptions;

   somePublicFunction(someID) {
      if (this.#privateVar === undefined) this.#getPrivateVar(someID, this.somePublicFunction);
      // some code
   }
   
   #getPrivateVar(someID, callback) {
      // some code
      // ---------
      axios.get('link', this.#axiosDefaultOptions).then((axiosResponse) => {
         // some code
         // ---------
         callback(someID);              // Cannot read properties of undefined (reading #privateVar)
         callback.bind(this, someID);   // No error, but somePublicFunction doesn't start again
         callback.bind(this)(someID);   // Works
         callback.bind(this, someID)(); // Works
      }
   }
}

如果我正确地完成了所有操作,那么使用哪个选项更好?
或?
callback.bind(this)(someID)callback.bind(this, someID)()

异步 axios 回调 绑定

评论


答: 暂无答案