【发布时间】:2018-08-30 12:30:39
【问题描述】:
我正在使用带有 Android Studio 的 Flutter beta 0.15v。崩溃仅发生在 iOS 模拟器 - IphoneX 11.2 上。
Unhandled exception:
NoSuchMethodError: The getter 'stdout' was called on null.
Receiver: null
Tried calling: stdout
#0 Object.noSuchMethod (dart:core-patch/dart:core/object_patch.dart:46)
#1 stdout (package:flutter_tools/src/base/io.dart:176)
#2 StdoutLogger.writeToStdOut (package:flutter_tools/src/base/logger.dart:100)
#3 StdoutLogger.printStatus (package:flutter_tools/src/base/logger.dart:95)
#4 _AppRunLogger.printStatus (package:flutter_tools/src/commands/daemon.dart:849)
#5 printStatus (package:flutter_tools/src/globals.dart:39)
#6 ResidentRunner._serviceDisconnected (package:flutter_tools/src/resident_runner.dart:756)
#7 _rootRun (dart:async/zone.dart:1122)
#8 _CustomZone.run (dart:async/zone.dart:1023)
#9 _FutureListener.handleWhenComplete (dart:async/future_impl.dart:151)
#10 _Future._propagateToListeners.handleWhenCompleteCallback (dart:async/future_impl.dart:603)
#11 _Future._propagateToListeners (dart:async/future_impl.dart:659)
#12 _Future._completeWithValue (dart:async/future_impl.dart:477)
#13 _Future._asyncComplete.<anonymous closure> (dart:async/future_impl.dart:507)
#14 _rootRun (dart:async/zone.dart:1126)
#15 _CustomZone.run (dart:async/zone.dart:1023)
#16 _CustomZone.bindCallback.<anonymous closure> (dart:async/zone.dart:949)
#17 _microtaskLoop (dart:async/schedule_microtask.dart:41)
#18 _startMicrotaskLoop (dart:async/schedule_microtask.dart:50)
#19 _runPendingImmediateCallback (dart:isolate-patch/dart:isolate/isolate_patch.dart:113)
#20 _RawReceivePortImpl._handleMessage (dart:isolate-patch/dart:isolate/isolate_patch.dart:166)
使用http.dart的API调用代码如下
import 'package:http/http.dart' as http;
_loadData() async {
String dataURL = "https://api.github.com/orgs/abc/members";
http.Response response = await http.get(dataURL);
setState(() {
final membersJSON = JSON.decode(response.body);
for (var memberJSON in membersJSON) {
final member = new Member(
memberJSON["login"], memberJSON["avatar_url"]);
_members.add(member);
}
});
}
在ios模拟器上运行时,每次都会抛出上述异常。
会员数据类
class Member {
final String login;
final String avatarUrl;
Member(this.login, this.avatarUrl) {
if (login == null) {
throw new ArgumentError("login of Member cannot be null. "
"Received: '$login'");
}
if (avatarUrl == null) {
throw new ArgumentError("avatarUrl of Member cannot be null. "
"Received: '$avatarUrl'");
}
}
}
【问题讨论】:
-
看起来更像是模拟器问题而不是 http 问题。
-
我会尝试
flutter channel devflutter doctor。当前的beta已经有点过时了。 -
尝试了开发频道,但到目前为止没有任何进展。感谢您的建议。
-
你能发布你的飞镖代码吗?
-
更新了api调用代码。做检查
标签: ios ios-simulator flutter