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