回答
在使用 http.postJson
方法时,如果网络不稳定或目标服务器无响应,确实可能会出现卡住的情况。为了防止这种情况,你可以通过设置请求的超时时间来避免长时间等待。
在 Hamibot 的 http
模块中,可以通过 options
参数中的 timeout
属性来设置超时时间(单位为毫秒)。以下是一个示例:
// 文档地址 https://docs.hamibot.com/
var url = 'https://example.com/api';
var data = {
key1: 'value1',
key2: 'value2'
};
var options = {
timeout: 5000 // 设置超时时间为5秒
};
http.postJson(url, data, options, function (err, res) {
if (err) {
toast('请求失败: ' + err);
return;
}
if (res.statusCode == 200) {
var html = res.body.string();
toast('请求成功: ' + html);
} else {
toast('请求失败,状态码: ' + res.statusCode);
}
});
说明:
timeout
:设置请求的超时时间,单位为毫秒。- 如果在指定时间内没有收到响应,请求会自动终止,并触发错误回调。
- 在回调函数中,可以通过
err
判断是否超时或其他错误。
这样可以有效避免因网络问题导致脚本卡住。
ℹ️ 本回答由 AI 生成,内容仅供参考