在 MariaDB 的查询调用中检查 res 'status'
Checking for res 'status' in Query Call for MariaDB
我正在重写一些 Node 代码以通过 MariaDB 连接器而不是通过 SQL Anywhere 执行 SQL 查询,我正在尝试确定我可以锁定什么响应 属性复制我们之前的代码。
旧代码如下所示:
sybase.query("SELECT * FROM cc_customers WHERE ex_id = ?",
[transaction.ex_id], function (result) {
if (result.status != 'success') {
connPoolSize++;
transactionsLeftToProcess--;
return;
}...
注意我们如何在 运行 通过 SQL Anywhere 到 Sybase 数据库的查询时使用 result.status
。现在在 MariaDB 中,我想知道作为响应的一部分返回了什么,我们可以使用它来复制这个条件检查。在文档 (https://mariadb.com/kb/en/library/connector-nodejs-promise-api/#connectionquerysql-values-promise) 中,我看到对 res
和 rows
的引用作为响应的一部分可用,但我不清楚 status
或其他等效内容(状态代码?)在查询调用中作为 res
的一部分返回。在这种情况下我可以使用返回哪些属性?
使用 MariaDB
你可以简单地捕获错误。如果您使用 async/await
,它可能是这样的:
async function fetchCustommers() {
try {
return await mariadb.query("SELECT * FROM cc_customers WHERE ex_id = ?", [transaction.ex_id])
} catch (error) {
// Your status !== 'success' logic
connPoolSize++;
transactionsLeftToProcess--;
}
}
至于 then/catch
方法:
function fetchCustommers() {
return mariadb.query("SELECT * FROM cc_customers WHERE ex_id = ?", [transaction.ex_id])
.catch(error => {
// Your status !== 'success' logic
connPoolSize++;
transactionsLeftToProcess--;
})
}
另外 here 是 Error
实例中可用的属性。
我正在重写一些 Node 代码以通过 MariaDB 连接器而不是通过 SQL Anywhere 执行 SQL 查询,我正在尝试确定我可以锁定什么响应 属性复制我们之前的代码。
旧代码如下所示:
sybase.query("SELECT * FROM cc_customers WHERE ex_id = ?",
[transaction.ex_id], function (result) {
if (result.status != 'success') {
connPoolSize++;
transactionsLeftToProcess--;
return;
}...
注意我们如何在 运行 通过 SQL Anywhere 到 Sybase 数据库的查询时使用 result.status
。现在在 MariaDB 中,我想知道作为响应的一部分返回了什么,我们可以使用它来复制这个条件检查。在文档 (https://mariadb.com/kb/en/library/connector-nodejs-promise-api/#connectionquerysql-values-promise) 中,我看到对 res
和 rows
的引用作为响应的一部分可用,但我不清楚 status
或其他等效内容(状态代码?)在查询调用中作为 res
的一部分返回。在这种情况下我可以使用返回哪些属性?
使用 MariaDB
你可以简单地捕获错误。如果您使用 async/await
,它可能是这样的:
async function fetchCustommers() {
try {
return await mariadb.query("SELECT * FROM cc_customers WHERE ex_id = ?", [transaction.ex_id])
} catch (error) {
// Your status !== 'success' logic
connPoolSize++;
transactionsLeftToProcess--;
}
}
至于 then/catch
方法:
function fetchCustommers() {
return mariadb.query("SELECT * FROM cc_customers WHERE ex_id = ?", [transaction.ex_id])
.catch(error => {
// Your status !== 'success' logic
connPoolSize++;
transactionsLeftToProcess--;
})
}
另外 here 是 Error
实例中可用的属性。