繁体   English   中英

获取静态函数以返回异步值

[英]get static function to return async value

我想要一个静态 ES6 方法来简单地返回一个值而不是一个承诺。 这就是我想要做的。

export default class Member {

  static existingMember() {
    var _existingMember;
    // DB.findExistingMember() -> returns a promise
    DB.findExistingMember().then(member => {
      _existingMember = member
    })
    return _existingMember
  }
}

// in mocha test

describe('some test', function () => {
  const member = Member.existingMember()

  it('has access to member', function() => {
     // I want member to be available here instead of having to do member.then()
    console.log(member)
    foo.someFunction(member)
    bar.someFunction(member)
  })
})

您可以在Member.existingMember函数上使用 await 将您的member用作普通变量

export default class Member {
    static existingMember() {
        return DB.findExistingMember();
    }
}

// in mocha test

describe('some test', function ()  {
    it('has access to member', async function () {
        const member = await Member.existingMember()
        console.log(member)
        foo.someFunction(member)
        bar.someFunction(member)
    })
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM