代码之家  ›  专栏  ›  技术社区  ›  A.A

无需绑定即可修复此问题

  •  -2
  • A.A  · 技术社区  · 7 年前

    我想皈依 exec 作用于 execAsync

    https://github.com/couchbase/couchnode/blob/master/lib/bucket.js#L3257

    我这样做

    couchbase.BucketImpl.LookupInBuilder.prototype.executeAsync = function() {
      return new Promise((resolve, reject) => {
        this.execute((error, result) => {
          if (error instanceof Error) {
            reject(error);
          } else {
            resolve(result);
          }
        });
      });
    };
    

    this 我不想 bind 每次都要举例说明 MutateInBuilder 这是一种自动帮助我的方式吗?我想永远 this.execute couchbase.BucketImpl.LookupInBuilder.prototype.execute

    1 回复  |  直到 7 年前
        1
  •  1
  •   Todd    7 年前

    看起来很奇怪,你正在覆盖couchbase原型。。。但正如@trincot所建议的,使用胖箭头功能:

    couchbase.BucketImpl.LookupInBuilder.prototype.executeAsync = () => {
      return new Promise((resolve, reject) => {
        this.execute((error, result) => {
          if (error instanceof Error) {
            reject(error);
          } else {
            resolve(result);
          }
        });
      });
    };