gpt4 book ai didi

javascript - NodeJS/mssql 错误处理差异

转载 作者:行者123 更新时间:2023-12-01 02:33:39 26 4
gpt4 key购买 nike

我刚刚开始使用 mssql 包从 NodeJS 查询我的数据库。我的问题是关于错误处理...对于初学者,这是我的模块导入:

const sql = require('mssql');
const config = require('./pathToMyConfig.js');

我可以看到模块公开的大多数方法都可以作为 Promise 进行处理,并且 .catch() 可用于处理错误。

sql.connect(config).query("SELECT * FROM Customers").then().catch(err => {...});

但我还可以在文档中看到,有时他们会在导入的 mssql 模块上调用 .on('error')

sql.connect(config).query().then();
sql.on('error', err => {...});

这两个有什么区别?我想 .catch 只处理 Promise 主体上的错误,而 .on('error') 处理所有未捕获的内容?

是否还有其他差异,或者可能有相关约定?

最佳答案

如果初始化连接时发生错误,将调用

sql.on('error', err => {...}); 。这允许您在初始化期间处理任何异常。

.catch(err => {...}) 用于捕获查询执行期间发生的任何错误。

关于javascript - NodeJS/mssql 错误处理差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48113700/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com