URLのリストをループし、needleを使用してそれらをフェッチするコードがあります。URLの1つが不正な形の場合、問題が発生しています。 URIError実行を停止します。try-catchブロック内でも実行を中止した例外
私がしたいことは、ループがこのようになりますマークされるのは悪いURLのためですが、ループが続く、私はtry-catchブロックが含まれ、次のコードを持っていますが、それはまだ
URIError: URI malformed
at decodeURIComponent (native)
at parseSetCookieString (node_modules/needle/lib/cookies.js:44:35)
at node_modules/needle/lib/cookies.js:54:18
at Array.reduce (native)
at Object.parseSetCookieHeader [as read] (node_modules/needle/lib/cookies.js:53:17)
at ClientRequest.<anonymous> (node_modules/needle/lib/needle.js:418:30)
at ClientRequest.g (events.js:199:16)
at ClientRequest.emit (events.js:107:17)
at HTTPParser.parserOnIncomingClient [as onIncoming] (_http_client.js:426:21)
at HTTPParser.parserOnHeadersComplete (_http_common.js:111:23)
エラーをスローします
for (var i =0; i < items.length; i++)
{
var url = items[i].link;
var options = {};
(function(inner_url){
try {
needle.get(inner_url, options, function(err, res) {
if(err) {
console.log(err)
} else {
console.log('success')
}
})
} catch (URIError) {
console.log(URIError)
}
})(url)
}
ありがとう
答えをいただきありがとうございます、残念ながら、針は私が維持していない第三者のモジュールです。 – Haddad
でも、私が言及したように、要求を行う前にあなたのURLを確認してください。 URLにいくつかの悪い値がある場合は、リクエストしないでください。これにより、この種の問題を防ぐことができます。 –