如何在 bool 为真之前为函数创建循环?
How to make a loop for a function until a bool is true?
我有一个函数可以使用 url 从 firebase 存储中获取一些信息,这些信息包含一个 bool,我想要实现的是在每个嵌套对象中循环一个 true
值我在这个 JSON 文件中,并在找到真实值时停止。
代码:
Future getAya() async {
await checkInternet();
await down_data();
if (khatma == 'Khatma 1') {
var rng = new Random();
int ranum = rng.nextInt(2);
var response = await http.get(
'firebase link',
);
var myDataString = utf8.decode(response.bodyBytes);
data = jsonDecode(myDataString);
if (state = true) {
print('Taken');
} else {
setState(() {
ranAya = data['verse_$ranum']['Aya'];
state = data['verse_$ranum']['taken'];
audioLink = data['verse_$ranum']['audioLink'];
});
}
您可以像这样使用 do while
循环:
Future getAya() async {
bool state = false;
do{
await checkInternet();
await down_data();
if (khatma == 'Khatma 1') {
var rng = new Random();
int ranum = rng.nextInt(2);
var response = await http.get(
'firebase link',
);
var myDataString = utf8.decode(response.bodyBytes);
data = jsonDecode(myDataString);
state = data['verse_$ranum']['taken'];
if (state) {
print('Taken');
} else {
setState(() {
ranAya = data['verse_$ranum']['Aya'];
audioLink = data['verse_$ranum']['audioLink'];
});
}
}
}while(!state);
}
我有一个函数可以使用 url 从 firebase 存储中获取一些信息,这些信息包含一个 bool,我想要实现的是在每个嵌套对象中循环一个 true
值我在这个 JSON 文件中,并在找到真实值时停止。
代码:
Future getAya() async {
await checkInternet();
await down_data();
if (khatma == 'Khatma 1') {
var rng = new Random();
int ranum = rng.nextInt(2);
var response = await http.get(
'firebase link',
);
var myDataString = utf8.decode(response.bodyBytes);
data = jsonDecode(myDataString);
if (state = true) {
print('Taken');
} else {
setState(() {
ranAya = data['verse_$ranum']['Aya'];
state = data['verse_$ranum']['taken'];
audioLink = data['verse_$ranum']['audioLink'];
});
}
您可以像这样使用 do while
循环:
Future getAya() async {
bool state = false;
do{
await checkInternet();
await down_data();
if (khatma == 'Khatma 1') {
var rng = new Random();
int ranum = rng.nextInt(2);
var response = await http.get(
'firebase link',
);
var myDataString = utf8.decode(response.bodyBytes);
data = jsonDecode(myDataString);
state = data['verse_$ranum']['taken'];
if (state) {
print('Taken');
} else {
setState(() {
ranAya = data['verse_$ranum']['Aya'];
audioLink = data['verse_$ranum']['audioLink'];
});
}
}
}while(!state);
}