Node-Red - 捕获错误 - node-red-contrib-composer
Node-Red - Catching Error - node-red-contrib-composer
我在点头红流中使用作曲家节点
node-red-contrib-composer
有些情况下节点会抛出错误
"Error trying invoke business network. Error: Peer has rejected
transaction
'ce59c38741626ca5dbc1ae7055e0a52297ff99293751f796ed41d40b5cfc59e9'
with code MVCC_READ_CONFLICT "
我可以在调试控制台中看到这个错误,但我无法使用
catch node-red 中可用的节点。我认为,在作曲家节点中,使用了以下代码:
.catch((error) => {
node.error(error.message);
});
如何在 node-red 中捕获此错误?
我想使用此错误消息来触发同一选项卡中的另一个流程。
如 Rocketchat 上所述 - 错误来自 Fabric - 可能希望有一个观察者在日志中发现错误(并将其拉入您的流程?即失败的事务 ID)另请参阅此处的信息关于避免碰撞 -> MVCC_READ_CONFLICT when submitting multiple transactions concurrently
MVCC_READ_CONFLICT
之类的错误当前无法被 node-red 流程中的 debug
节点捕获(即写入时间)(仅调试控制台中的 avl)。除非 node.error(msg)
或类似的东西在 composer node-red mpdule 中可用(例如 node.error("Error",msg)
)——这样 node-red 中的 catch
节点可用于捕获该错误并进行 re-sbumitting 一项受较早 'MVCC_READ_CONFLICT'.
约束的交易
抛开错误的具体细节不谈,您无法使用 Catch 节点处理此错误的原因是 Composer 节点报告错误的方式。
它正在用一个参数调用 node.error
,这意味着它已被记录并且没有采取进一步的行动。
为了触发 Catch 节点,对 node.error
的调用必须提供第二个参数,即 Catch 节点应发送的消息对象。
我建议您针对作曲家节点提出问题以进行此更改。
我在点头红流中使用作曲家节点 node-red-contrib-composer
有些情况下节点会抛出错误
"Error trying invoke business network. Error: Peer has rejected transaction 'ce59c38741626ca5dbc1ae7055e0a52297ff99293751f796ed41d40b5cfc59e9' with code MVCC_READ_CONFLICT "
我可以在调试控制台中看到这个错误,但我无法使用 catch node-red 中可用的节点。我认为,在作曲家节点中,使用了以下代码:
.catch((error) => {
node.error(error.message);
});
如何在 node-red 中捕获此错误? 我想使用此错误消息来触发同一选项卡中的另一个流程。
如 Rocketchat 上所述 - 错误来自 Fabric - 可能希望有一个观察者在日志中发现错误(并将其拉入您的流程?即失败的事务 ID)另请参阅此处的信息关于避免碰撞 -> MVCC_READ_CONFLICT when submitting multiple transactions concurrently
MVCC_READ_CONFLICT
之类的错误当前无法被 node-red 流程中的 debug
节点捕获(即写入时间)(仅调试控制台中的 avl)。除非 node.error(msg)
或类似的东西在 composer node-red mpdule 中可用(例如 node.error("Error",msg)
)——这样 node-red 中的 catch
节点可用于捕获该错误并进行 re-sbumitting 一项受较早 'MVCC_READ_CONFLICT'.
抛开错误的具体细节不谈,您无法使用 Catch 节点处理此错误的原因是 Composer 节点报告错误的方式。
它正在用一个参数调用 node.error
,这意味着它已被记录并且没有采取进一步的行动。
为了触发 Catch 节点,对 node.error
的调用必须提供第二个参数,即 Catch 节点应发送的消息对象。
我建议您针对作曲家节点提出问题以进行此更改。