如何处理此调用上的etimedout错误?
var remotePath = "myremoteurltocopy"
var localStream = fs.createWriteStream("myfil");;
var out = request({ uri: remotePath });
out.on('response', function (resp) {
if (resp.statusCode === 200) {
out.pipe(localStream);
localStream.on('close', function () {
copyconcurenceacces--;
console.log('aftercopy');
callback(null, localFile);
});
}
else
callback(new Error("No file found at given url."), null);
})
有没有办法等待更长的时间?还是再次请求远程文件?
究竟是什么会导致此错误?仅超时?
这是由于在给定时间内未收到您的请求响应(通过timeout
请求模块选项)引起的。
基本上首先要捕获该错误,您需要在上注册一个处理程序error
,因此不会再抛出未处理的错误:out.on('error', function (err) { /* handle errors here */ })
。这里还有一些解释。
在处理程序中,您可以检查错误是否为ETIMEDOUT并应用自己的逻辑:if (err.message.code === 'ETIMEDOUT') { /* apply logic */ }
。
如果要再次请求该文件,建议使用node-retry或node-
backoff
模块。它使事情变得简单得多。
如果您想等待更长的时间,可以设置timeout
请求自己的选项。您可以将其设置为0而不会超时。
问题内容: 我试图弄清楚如何使用boto3进行正确的错误处理。 我正在尝试创建一个IAM用户: 成功调用create_user后,我得到一个整洁的对象,其中包含API调用的http状态代码和新创建的用户的数据。 例: 这很好。但是,如果失败(例如用户已经存在),我只会得到一个类型为botocore.exceptions.ClientError的对象,其中只有文本可以告诉我出了什么问题。 示例:Cl
本文向大家介绍如何处理jQuery AJAX错误?,包括了如何处理jQuery AJAX错误?的使用技巧和注意事项,需要的朋友参考一下 处理jQuery AJAX错误。每当AJAX请求失败时,ajaxError(callback)方法都会附加一个要执行的函数。这是一个Ajax事件。 这是此方法使用的所有参数的描述- callback- 要执行的功能。用于该请求的XMLHttpRequest和设置将
我的服务器为所有请求返回一个基本的JSON结构,如下所示: 其中可以是true或false,数据可以返回许多内容,从到应用程序可能需要的数据。 需要更改/添加到我的改型API调用中的内容是什么?
问题内容: 我做常规的事情: 叉子() 子文件中的execvp(cmd,) 如果execvp因找不到cmd而失败,如何在父进程中注意到此错误? 问题答案: 著名的自管技巧可以适用于这一目的。 这是一个完整的程序。 工作原理: 创建一个管道,并创建write端点:成功执行an时,它将自动关闭。 在孩子中,尝试。如果成功,我们将不再具有控制权,但管道已关闭。如果失败,则将失败代码写入管道并退出。 在父
问题内容: 如何处理“ java.lang.OutOfMemoryError:Java堆空间”错误? 问题答案: 最终,无论你在什么平台上运行,都始终可以使用有限的最大堆。在Windows 32位环境中2GB(不是专门用于堆,而是每个进程的内存总量)。碰巧的是,Java选择减小默认值(大概是为了让程序员在没有遇到这个问题且不必仔细检查它们在做什么的情况下,无法创建内存分配失控的程序)。 因此,考虑