Работа Timeout в Flutter: руководство и пример

В Flutter, если вы хотите выполнить определенное действие после указанного timeout, вы можете использовать Future.delayed функцию вместе с ключевыми словами async и await. Вот пример:

import 'package:flutter/material.dart';  
  
void main() {  
  runApp(MyApp());  
}  
  
class MyApp extends StatelessWidget {  
  @override  
  Widget build(BuildContext context) {  
    return MaterialApp(  
      home: MyHomePage(),  
   );  
  }  
}  
  
class MyHomePage extends StatelessWidget {  
  @override  
  Widget build(BuildContext context) {  
    return Scaffold(  
      appBar: AppBar(  
        title: Text('Timeout Example'),  
     ),  
      body: Center(  
        child: ElevatedButton(  
          onPressed:() {  
            performActionWithTimeout();  
          },  
          child: Text('Perform Action with Timeout'),  
       ),  
     ),  
   );  
  }  
  
  Future<void> performActionWithTimeout() async {  
    print('Action started');  
      
    // Simulate a delay of 3 seconds  
    await Future.delayed(Duration(seconds: 3));  
      
    print('Action completed after timeout');  
  }  
}  

В этом примере при нажатии кнопки performActionWithTimeout вызывается функция. Внутри этой функции мы await Future.delayed(Duration(seconds: 3)) вводим задержку в 3 секунды. После задержки действие завершается.

Вы можете заменить действие внутри performActionWithTimeout функции желаемой операцией. Этот timeout механизм может быть полезен, когда вы хотите отложить действие, не блокируя поток пользовательского интерфейса.

Имейте в виду, что если после моего последнего обновления были какие-либо обновления или новые пакеты, связанные с timeout in Flutter, вы также можете изучить эти варианты.