Я хочу получить две строки из метода, который вызывается, но вычисление внутри, которое занимает несколько секунд, поэтому я понятия не имею, чтобы вернуть оба значения и присвоить их списку или двум строкам после вычисления
Это как я назвал метод -
@override
void initState() {
var calc = new Calculation().resultCalculation(dateOfBirth: dob, timeOfBirth: tob, gender: genderId, city: cities);
results = calc;
print(results);
print(results[0]);
super.initState();
}
И вот как я возвратил значения -
return [bornDay, bornCity];
Если кто-то может дать мне лучший способ вызвать этот метод и вернуть оба значения было бы здорово:)
Метод, который требует времени -
cityCalculate() async {
DateTime earlyTime;
DateTime lateTime;
String city;
QuerySnapshot snaps =
await Firestore.instance.collection('cities').getDocuments();
for (var docs in snaps.documents) {
earlyTime = DateTime.parse(docs['beforeTime']);
lateTime = DateTime.parse(docs['afterTime']);
city = docs['city'];
if (birthDayTime.isAfter(earlyTime) && birthDayTime.isBefore(lateTime)) {
bornCity = city;
break;
}
}
}