如何使用dart future.sync方法

zer*_*ing 3 dart dart-async

当我尝试使用类未来的future.sync时

import 'package:async/async.dart';
import 'dart:async';

void main() {
    var fur3 = new Future<int>(() => 45);
    int z = Future.sync(fur3);
    print(z);
}
Run Code Online (Sandbox Code Playgroud)

我收到了错误消息

打破异常:NoSuchMethodError类型的对象

我是否以错误的方式使用future.sync?

我的第二个问题是

import 'package:async/async.dart';

void main() {
  var fur1 = new Future<int>(() => 45);
    fur1.then((value) {
      return value;
    }).catchError((err) => print('catchError1: ${err}'));
}
Run Code Online (Sandbox Code Playgroud)

为什么当我尝试从包中导入异步库时,我有编译器消息

打破异常:TypeError类型的对象
未定义类'Future'

我在这做错了什么?

Gün*_*uer 8

1)您不会将未来传递Future.sync()给闭包,而是立即执行.

Future z = new Future.sync(() => print('bla'));
Run Code Online (Sandbox Code Playgroud)

2)async是一个内部包.您可以使用它导入它

import 'dart:async';
Run Code Online (Sandbox Code Playgroud)

内部包不需要添加到pubspec.yaml依赖项中,因为它们始终可用.不同的import语句与此相关.