Obsługa Timeout w Flutter: przewodnik i przykład

W Flutter, jeśli chcesz wykonać określoną akcję po określonym timeout, możesz użyć tej Future.delayed funkcji wraz ze słowami kluczowymi async i await. Oto przykład:

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');  
  }  
}  

W tym przykładzie naciśnięcie przycisku performActionWithTimeout powoduje wywołanie funkcji. Wewnątrz tej funkcji wprowadzamy await Future.delayed(Duration(seconds: 3)) opóźnienie 3 sekund. Po opóźnieniu akcja jest zakończona.

Możesz zastąpić akcję w ramach performActionWithTimeout funkcji żądaną operacją. Ten timeout mechanizm może być pomocny, gdy chcesz opóźnić akcję bez blokowania wątku interfejsu użytkownika.

Pamiętaj, że jeśli po mojej ostatniej aktualizacji pojawiły się jakieś aktualizacje lub nowe pakiety timeout, Flutter możesz również chcieć zapoznać się z tymi opcjami.