0

我是 Node.js 的初学者。
最近想搭建一个基于es6-class的模块化系统。
我正在尝试将 ws 模块包装到一个类中,这是我的代码原型:

const WebSocket = require('ws')

export default class WebSocketServer {
  constructor(port = 9876) {
    this.wss = new WebSocket.Server({
      port,
      perMessageDeflate: false
    })

    this.wss.on('connection', (function _connection(ws) {
      this.connection(ws)
    }).bind(this))
  }

  connection(ws) {
    return new Promise(function (resolve, reject){
      ws.on('message', function _incoming(message){
        console.log('received: %s', message)
      })

      ws.send('Welcome!', function ack(err){
        if(err) {
          reject(`Connection error: ${err}`)
        } 
        else {
          resolve('Connection created.')
        }   
      })
    })
  }
}

几个问题:
1.我想知道我的逻辑是否正确?
2.有没有一种简单的方法可以将'this'绑定到回调函数?

谢谢!

4

0 回答 0