當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Dart Future.doWhile用法及代碼示例


dart:async 庫中Future.doWhile 方法的用法介紹如下。

用法:

Future doWhile(
   FutureOr<bool> action(
)   
)

重複執行一個操作,直到它返回 false

操作 action 可以是同步的或異步的。

隻要返回 booltrue 或以值 true 完成的 Future<bool> ,就會重複調用該操作。

如果對 action 的調用返回 false 或完成到 falseFuture,則迭代結束並且 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.dev大神的英文原創作品 doWhile method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。