API调用两次返回json字符串

时间:2019-08-27 11:05:29

标签: flutter dart

我正在尝试在json中返回一个Flutter字符串。我正在使用print函数在控制台中显示输出。但是我的代码两次返回String。这是我的代码:

import 'package:flutter/material.dart';
import 'dart:convert';
import 'package:http/http.dart' as http;


void main() => runApp(new HomePage());

class HomePage extends StatelessWidget {



  Future<http.Response> fetchPost() async{
    return await http.get('https://api.npoint.io/8c7aafe809d73af5f2b9');
  }


  void Data() async {
    var jsonString = await fetchPost();
    print(jsonString.body);
  }

  @override
  Widget build(BuildContext context) {
    Data();
    return new MaterialApp(
      home: new Center(
        child: new Text('Data'),
      ),
    );
  }
}

1 个答案:

答案 0 :(得分:1)

两次调用build方法,导致再次调用整个小部件。考虑将StatelessWidget转换为StatefulWidget并在其中添加http调用方法

@overridde 
initState() {
    your code
}
相关问题