dart:async
庫中Future.doWhile
方法的用法介紹如下。
用法:
Future doWhile(
FutureOr<bool> action(
)
)
重複執行一個操作,直到它返回 false
。
操作 action
可以是同步的或異步的。
隻要返回 bool 值 true
或以值 true
完成的 Future<bool>
,就會重複調用該操作。
如果對 action
的調用返回 false
或完成到 false
的 Future,則迭代結束並且 doWhile 返回的未來以 null
值完成。
如果對action
的調用拋出或action
返回的future 以錯誤完成,則迭代結束並且doWhile 返回的future 以相同的錯誤完成。
對 action
的調用可能隨時發生,包括在調用 doWhile
之後立即發生。唯一的限製是對 action
的新調用不會在前一個調用返回之前發生,如果它返回一個 Future<bool>
,直到未來完成。
例子:
void main() async {
var value = 0;
await Future.doWhile(() async {
value++;
await Future.delayed(const Duration(seconds: 1));
if (value == 3) {
print('Finished with $value');
return false;
}
return true;
});
}
// Outputs: 'Finished with 3'
相關用法
- Dart Future.delayed用法及代碼示例
- Dart Future.any用法及代碼示例
- Dart Future.value用法及代碼示例
- Dart Future.wait用法及代碼示例
- Dart Future.whenComplete用法及代碼示例
- Dart Future.catchError用法及代碼示例
- Dart Future.error用法及代碼示例
- Dart Future.timeout用法及代碼示例
- Dart Future.sync用法及代碼示例
- Dart Future用法及代碼示例
- Dart FutureExtensions.onError用法及代碼示例
- Dart Function.apply用法及代碼示例
- Dart FileList.first用法及代碼示例
- Dart FileList.length用法及代碼示例
- Dart File用法及代碼示例
- Dart Finalizer.attach用法及代碼示例
- Dart Float32List.view用法及代碼示例
- Dart FileSystemEntity用法及代碼示例
- Dart FileSystemEntity.resolveSymbolicLinks用法及代碼示例
- Dart Finalizable用法及代碼示例
- Dart File.renameSync用法及代碼示例
- Dart Float32x4List.sublist用法及代碼示例
- Dart Finalizer用法及代碼示例
- Dart FileSystemEntity.resolveSymbolicLinksSync用法及代碼示例
- Dart FileList.elementAt用法及代碼示例
注:本文由純淨天空篩選整理自dart.dev大神的英文原創作品 doWhile method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。