乏味的连接事件没有触发功能
Tedious on connect event not firing in function
我正在尝试在节点 js 中使用 Tedious 连接到本地 SQL 服务器数据库。
function connectToSql() {
sqlConnection.on('connect', function (err) {
// If no error, then good to go...
if (err) {
console.log(err);
} else {
console.log('connected to SQL!');
executeSelectStatement();
}
});
}
当我在声明后不久调用此函数时,它工作正常并打印 'connected to SQL!'。但是当我调用 SocketIO.Server 的这个函数 "connection" 事件时,它没有进行 sql 调用。我的代码如下:
ioServer.on('connection', function (socket: SocketIO.Socket) {
console.log('a user connected');
connectToSql();
});
它只打印 'a user connected'
有什么建议为什么会这样吗?
很可能 SQL 连接在 Socket.io 连接发生之前就已建立。既然如此,那么connect
事件应该已经发生了。
如果您只想在收到 Socket.io 连接后建立 SQL 连接,您可能需要在那个时候 new Connection(config);
同时订阅 [=10] =] 事件.
请注意,您可能不想为每个 Socket.io 连接建立一个 SQL 连接,因为多人使用该应用程序时,可能会产生大量额外开销不需要。
我正在尝试在节点 js 中使用 Tedious 连接到本地 SQL 服务器数据库。
function connectToSql() {
sqlConnection.on('connect', function (err) {
// If no error, then good to go...
if (err) {
console.log(err);
} else {
console.log('connected to SQL!');
executeSelectStatement();
}
});
}
当我在声明后不久调用此函数时,它工作正常并打印 'connected to SQL!'。但是当我调用 SocketIO.Server 的这个函数 "connection" 事件时,它没有进行 sql 调用。我的代码如下:
ioServer.on('connection', function (socket: SocketIO.Socket) {
console.log('a user connected');
connectToSql();
});
它只打印 'a user connected'
有什么建议为什么会这样吗?
很可能 SQL 连接在 Socket.io 连接发生之前就已建立。既然如此,那么connect
事件应该已经发生了。
如果您只想在收到 Socket.io 连接后建立 SQL 连接,您可能需要在那个时候 new Connection(config);
同时订阅 [=10] =] 事件.
请注意,您可能不想为每个 Socket.io 连接建立一个 SQL 连接,因为多人使用该应用程序时,可能会产生大量额外开销不需要。