Javascript NodeJS/mssql错误处理差异
我刚开始使用mssql包从NodeJS查询我的数据库。我的问题是关于错误处理。。。首先,以下是我的模块导入:Javascript NodeJS/mssql错误处理差异,javascript,sql-server,node.js,Javascript,Sql Server,Node.js,我刚开始使用mssql包从NodeJS查询我的数据库。我的问题是关于错误处理。。。首先,以下是我的模块导入: const sql = require('mssql'); const config = require('./pathToMyConfig.js'); 我可以看到,模块公开的大多数方法都可以作为承诺来处理,并且可以使用.catch()来处理错误 sql.connect(config).query("SELECT * FROM Customers").then().catch(err
const sql = require('mssql');
const config = require('./pathToMyConfig.js');
我可以看到,模块公开的大多数方法都可以作为承诺来处理,并且可以使用.catch()
来处理错误
sql.connect(config).query("SELECT * FROM Customers").then().catch(err => {...});
但我也可以在文档中看到,有时他们在导入的mssql模块上调用.on('error')
sql.connect(config).query().then();
sql.on('error', err => {...});
二者之间的区别是什么?我想.catch
只处理承诺主体上的错误,而.on('error')
处理所有未捕获的内容
是否存在其他差异,或者可能存在与此相关的约定?sql.on('error',err=>{…})如果初始化连接时发生错误,将调用代码>。这允许您在初始化期间处理任何异常
.catch(err=>{…})用于捕获执行查询期间发生的任何错误。sql.on('error',err=>{…})如果初始化连接时发生错误,将调用代码>。这允许您在初始化期间处理任何异常
.catch(err=>{…})用于捕获执行查询期间发生的任何错误