Я нашел это другое ТАК:
Как остановить .forEach () Дартса?
В нем один из ответов гласит:
Dart не поддерживает нелокальные возвраты, поэтому возврат из обратного вызова не нарушит цикл. Причина, по которой он работает в jQuery, заключается в том, что each () проверяет значение, возвращаемое обратным вызовом. Обратный вызов Dart forEach возвращает void.
Я не нашел официальной документации для этого, чтобы предоставить ссылку. Но это имеет смысл, основываясь на похожих вопросах, их ответах и поведении вашего кода.
Также основываясь на других ответах по этой ссылке, вам нужно сделать следующее:
Обратите внимание, что он использует цикл for, а не foreach. для функций in как foreach в C # или аналогичных языках.
bool nameExists(players, player) {
bool result = false;
for(var f in players) {
if (f.data['name'].toLowerCase() == player.toLowerCase()) {
result = true;
break;
}
}
return result;
}
Или есть примеры других механизмов, которые можно использовать для достижения той же цели в связанной SO.