Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript NodeJS/mssql错误处理差异_Javascript_Sql Server_Node.js - Fatal编程技术网

Javascript NodeJS/mssql错误处理差异

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

我刚开始使用mssql包从NodeJS查询我的数据库。我的问题是关于错误处理。。。首先,以下是我的模块导入:

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=>{…})用于捕获执行查询期间发生的任何错误