我是 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'绑定到回调函数?
谢谢!