最適な一致を見つけるために照会する必要があるデータがいくつかあります。したがって、渡される関数の中にこれがありel
ます(データ)。
function match(el) {
return el.find('link:regex(type,application\\/(atom|rss)\\+xml)').attr('href')
|| el.find('meta[name="msapplication-task"]').attr('content').match(/action-uri=(.*?);/)[1]
|| [another query]
|| [another query]
|| [last resort query]
}
演算子を使用する際の問題||
は、いずれかのクエリでエラーが発生した場合、操作が終了し、その後のクエリが一致しないことです。たとえば、値が見つからない場合、match
メソッド onがないため、2 番目のクエリは失敗する可能性があります。undefined
現在、これらのエラーをキャッチするためにこの関数呼び出しをステートメントでラップしていますtry
が、これで問題は解決しません。クエリごとにエラーをキャッチするか、残りのクエリを実行できるようにする必要があります。
このデータに対して一連のクエリを実行するためのエレガントなソリューションを探しています。一致する最初のクエリが戻り値になります。