1.future函数返回失败结果时的时候不能返回null 因为: snap.hasData是以 bool get hasData => data != null; 为判定 假如返回null相当于持续在等待