我有一个要逐个检查的url列表。当从url检索到的内容与给定的条件匹配时,我必须停止,否则必须测试下一个url。
问题是为了检索给定的url的内容是一个异步任务,所以我不能使用简单的for-each循环。
最佳方法是什么?
目前我的代码看起来像这样:
List<String> urls = [/*...*/];
void f() {
if (urls.isEmpty) return; // no more url available
final url = urls.removeAt(0);
getContent(url).then((content) {
if (!matchCriteria(content)) f(); // try with next url
else doSomethingIfMatch();
});
}
f();