首页 > 解决方案 > 在 Node.js 中使用 Async/Await

问题描述

我试图让这个库https://github.com/bencevans/node-sonos在节点 6.10 环境中运行。问题是这是为更高节点版本构建的,但我需要它能够在 6.10 系统上运行。所以我尝试手动降级包。node 6.10 不能处理的最大特性是 async await 关键字。我找到了 asyncawait 包,它似乎在一定程度上解决了这个问题,但我不知道如何用它重写类方法:

class SonosListener extends EventEmitter{
async stopListener () {
    if (this._listening) {
      this._eventServer.close()
      this._listening = false

      let cancel = function (s) {
        return s.cancelAllSubscriptions()
      }
      var cancelAll = this._deviceSubscriptions.map(cancel)
      return Promise.all(cancelAll)
    } else {
      return new Promise((resolve, reject) => { reject(new Error('Not listening')) })
    }
  }

}

如何使用节点 6.10 中的 asyncawait 包解决此功能?

标签: node.jsasynchronousasync-await

解决方案


推荐阅读