Χειρισμός 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 μετά Flutter την τελευταία μου ενημέρωση, ίσως θελήσετε να εξερευνήσετε και αυτές τις επιλογές.