nestjs 与 axios,处理连接 ENETUNREACH
nestjs with axios, handling connect ENETUNREACH
我是 nestjs 的新手。
我正在构建一个应用程序,它从其他设备获取图像。但是,设备的互联网连接不稳定。有时,它会产生类似
的错误
[Nest] 30899 - 02/04/2022,8:09:25 下午错误 [ExceptionsHandler] 连接 ENETUNREACH 0.0.0.0:11
错误:连接 ENETUNREACH 0.0.0.0:11
当错误发生时,axios函数的下面几行没有被执行,我想避免这种情况。
因此,我想知道如何捕获这个错误来处理(try catch 块不适用于这种情况)。
这是我的代码以防万一。
try {
const response: AxiosResponse = await this.httpService.axiosRef({
url: `http://${cam.publicIP}:${cam.webPort}/capture`,
method: 'GET',
responseType: 'arraybuffer',
timeout: 1500,
})
const buffer = Buffer.from(response.data, "utf-8");
const resized = await sharp(buffer).extract({
left: 100,
top: 0,
width: 600,
height: 600,
}).resize().toBuffer();
const imageUrl = await this.storageService.upload('images', {
name: imageName,
buffer: resized
});
console.log(imageUrl);
snapshot.imageUrl = imageUrl;
// await snapshot.save();
console.log(snapshot.id);
} catch (error) {
this.logger.debug(error);
}
0.0.0.0
不是有效的 IP 地址。从历史上看,它已用于在绑定到本地端口以接受传入连接时指定所有本地 IP 地址。一些 OS/clients/stacks 将其扩展为本地主机,但您不应期望它总是有效。如果要连接到本地主机,请使用 127.0.0.1
。
如果 axios
抛出此错误,您的代码没有理由不捕获此错误。检查错误是在哪里抛出的 - 它可能是在其他地方抛出的。
我是 nestjs 的新手。
我正在构建一个应用程序,它从其他设备获取图像。但是,设备的互联网连接不稳定。有时,它会产生类似
的错误[Nest] 30899 - 02/04/2022,8:09:25 下午错误 [ExceptionsHandler] 连接 ENETUNREACH 0.0.0.0:11 错误:连接 ENETUNREACH 0.0.0.0:11
当错误发生时,axios函数的下面几行没有被执行,我想避免这种情况。
因此,我想知道如何捕获这个错误来处理(try catch 块不适用于这种情况)。
这是我的代码以防万一。
try {
const response: AxiosResponse = await this.httpService.axiosRef({
url: `http://${cam.publicIP}:${cam.webPort}/capture`,
method: 'GET',
responseType: 'arraybuffer',
timeout: 1500,
})
const buffer = Buffer.from(response.data, "utf-8");
const resized = await sharp(buffer).extract({
left: 100,
top: 0,
width: 600,
height: 600,
}).resize().toBuffer();
const imageUrl = await this.storageService.upload('images', {
name: imageName,
buffer: resized
});
console.log(imageUrl);
snapshot.imageUrl = imageUrl;
// await snapshot.save();
console.log(snapshot.id);
} catch (error) {
this.logger.debug(error);
}
0.0.0.0
不是有效的 IP 地址。从历史上看,它已用于在绑定到本地端口以接受传入连接时指定所有本地 IP 地址。一些 OS/clients/stacks 将其扩展为本地主机,但您不应期望它总是有效。如果要连接到本地主机,请使用 127.0.0.1
。
如果 axios
抛出此错误,您的代码没有理由不捕获此错误。检查错误是在哪里抛出的 - 它可能是在其他地方抛出的。