simple_async_builder 0.1.0 copy "simple_async_builder: ^0.1.0" to clipboard
simple_async_builder: ^0.1.0 copied to clipboard

Async widget builders made simple. Easy to use `Future` and `Stream` builders.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:simple_async_builder/simple_async_builder.dart';

void main() {
  runApp(const ExampleApp());
}

class ExampleApp extends StatelessWidget {
  const ExampleApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(home: ExampleWidget());
  }
}

class ExampleWidget extends StatelessWidget {
  const ExampleWidget({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    final futureClickCount = Future<int>.delayed(const Duration(seconds: 2), () => 3);
    return Scaffold(
      appBar: AppBar(
        title: const Text('Example'),
      ),
      body: AsyncFutureBuilder<int>(
        future: futureClickCount,
        builder: (context, value) => Center(child: Text('Button was clicked $value times')),
      ),
    );
  }
}

class AdvancedWidget extends StatelessWidget {
  const AdvancedWidget({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    final futureClickCount = Future<int>.delayed(const Duration(seconds: 2), () => 3);
    return Scaffold(
      appBar: AppBar(title: const Text('Example')),
      body: AsyncFutureBuilder<int>(
        future: futureClickCount,
        waiting: (context) => Row(children: const [CircularProgressIndicator(), Text("Loading...")],),
        builder: (context, value) => Center(child: Text('Button was clicked $value times')),
        error: (context, error, stack) => Text("Ups, something went wrong... $error"),
        reportError: (errorDetail) => reportToFirebase(errorDetail.exception.toString()),
      ),
    );
  }

  void reportToFirebase(Object error) {
    debugPrint(error.toString());
  }
}
7
likes
130
pub points
61%
popularity

Publisher

verified publisherkonwencik.pl

Async widget builders made simple. Easy to use `Future` and `Stream` builders.

Repository (GitHub)
View/report issues

Documentation

API reference

License

BSD-3-Clause (LICENSE)

Dependencies

either_dart, flutter

More

Packages that depend on simple_async_builder