gpt4 book ai didi

node.js - 使用 Node Redis 客户端进行错误处理

转载 作者:IT王子 更新时间:2023-10-29 06:15:01 27 4
gpt4 key购买 nike

我正在使用 Node Redis 客户端库,并希望设计我的错误处理逻辑。谁能帮忙解答一下下面的问题?

简而言之,我需要知道写操作(包括事务和脚本)是否成功。

具体来说,我在考虑客户端断开连接的情况。我看到三种情况:

1) 客户端在操作开始之前断开连接2) 操作开始,但失败,但客户端在报告错误消息之前断开连接3) 操作开始并成功,但客户端在报告响应之前断开连接

每个场景都可能需要不同的操作(1 可能只是重试命令,2 可能在重试之前了解命令失败的原因,3 可能获取本应返回的响应)。

我如何确定发生了哪种结果?

最佳答案

您尝试解决的案例适用于名为 bluebird 的 promise 库。 .

您想像这样处理多种不同类型的错误:

try {
//code
}
catch(e) {
if( e instanceof WhatIWantError) {
//handle
}
else {
throw e;
}
}

现在 bluebird 以更好的方式实现了这一点:

var fs = Promise.promisifyAll(require("fs"));

fs.readFileAsync("myfile.json").then(JSON.parse).then(function (json) {
console.log("Successful json")
}).catch(SyntaxError, function (e) {
console.error("file contains invalid json");
}).catch(Promise.OperationalError, function (e) {
console.error("unable to read file, because: ", e.message);
});

关于node.js - 使用 Node Redis 客户端进行错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24942821/

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