当前位置:首页 > Web开发 > 正文

show a loading spinner return new CircularProgressIndicator

2024-03-31 Web开发

import dart:async; import dart:convert; import package:flutter/material.dart; import package:http/http.dart as http; Future<Post> fetchPost() async { final response = await http.get(https://jsonplaceholder.typicode.com/posts/1); final responseJson = json.decode(response.body); return new Post.fromJson(responseJson); } class Post { final int userId; final int id; final String title; final String body; Post({this.userId, this.id, this.title, this.body}); factory Post.fromJson(Map<String, dynamic> json) { return new Post( userId: json[userId], id: json[id], title: json[title], body: json[body], ); } } void main() => runApp(new MyApp()); class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return new MaterialApp( title: Fetch Data Example, theme: new ThemeData( primarySwatch: Colors.blue, ), home: new Scaffold( appBar: new AppBar( title: new Text(Fetch Data Example), ), body: new Center( child: new FutureBuilder<Post>( future: fetchPost(), builder: (context, snapshot) { if (snapshot.hasData) { return new Text(snapshot.data.title); } else if (snapshot.hasError) { return new Text("${snapshot.error}"); } // By default, show a loading spinner return new CircularProgressIndicator(); }, ), ), ), ); } }

flutter http get请求

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/32111.html