簡體   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