由于 Dart 是单线程编程语言,对于进行网络请求和I/O操作,线程将发生阻塞,严重影响依赖于此任务的下一步操作. 通常,在一个阻塞任务之后还有许许多多的任务等待被执行.下一步任务需要上一步任务的结果,比如:请求一个数据,并将数据显示到界面上,此时,百分之九十的情况有NULL异常. 下面是一个模拟阻塞任务的下一步获取该任务返回的数据时发生的异常: User user = post('http://api.example.com/get/user/1'); print(user); // => n…