gpt4 book ai didi

node.js - SQL - 捕获 Sails.js 中 Transaction() 函数中的错误

转载 作者:太空宇宙 更新时间:2023-11-04 01:42:12 26 4
gpt4 key购买 nike

我有以下代码:

await sails.getDatastore().transaction(async function(db, proceed) {
for(var ctr1 = 0; ctr1 < tables.length; ctr1++) {
for(var ctr2 = 0; ctr2 < tblData[0].length; ctr2++) {
var colData = tblData[0][ctr2];

if(tables[ctr1] == 'AD5300') await Items.create(colData).usingConnection(db);
if(ctr1 == tables.length - 1 && ctr2 == tblData[0].length - 1) return proceed();
}
}
});
return exits.success({ "STATUS" : "1" });

它有效,而且没有什么可担心的(至少现在是这样)。我在这里遇到的唯一问题是,如果线路发生错误

if(tables[ctr1] == 'AD5300') await Items.create(colData).usingConnection(db);

它结束该过程。我想要的是获取错误消息,以便我可以使用自己修改的响应来解析详细信息。有办法做到这一点吗?

如果我没记错的话,这是 Sails 的最新版本。我相信 Sails 1.0,但我可能是错的。

我使用此链接作为引用: https://sailsjs.com/documentation/reference/waterline-orm/datastores/transaction

最佳答案

您可以在查询末尾添加 .intercept() 方法。作为参数,您传入要捕获的错误类型,然后传入一个用于说明如何处理它们的函数。 https://sailsjs.com/documentation/reference/waterline-orm/queries/intercept

编辑:再次查看后,我上面的答案并不能解决您的问题,但我想保留它,因为使用拦截仍然对某些人有帮助。

您现在可以从交易中删除继续并在下面添加一个捕获。这将使您能够在不停止进程的情况下捕获错误。

关于node.js - SQL - 捕获 Sails.js 中 Transaction() 函数中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52552650/

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