Rukovanje Timeout u Flutter: vodič i primjer

U Flutter, ako želite izvršiti određenu radnju nakon navedenog timeout, možete koristiti Future.delayed funkciju zajedno s ključnim riječima async i await. Evo primjera:

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

U ovom primjeru, kad se pritisne gumb, performActionWithTimeout poziva se funkcija. Unutar ove funkcije koristimo se await Future.delayed(Duration(seconds: 3)) za uvođenje odgode od 3 sekunde. Nakon odgode, radnja je završena.

Radnju unutar funkcije možete zamijeniti performActionWithTimeout željenom operacijom. Ovaj timeout mehanizam može biti od pomoći kada želite odgoditi radnju bez blokiranja nit korisničkog sučelja.

Imajte na umu da ako je bilo ažuriranja ili novih paketa povezanih s timeout nakon Flutter mog zadnjeg ažuriranja, možda biste trebali istražiti i te opcije.