Dart 未来的建设者有什么不同?

Dart 未来的建设者有什么不同?,dart,future,Dart,Future,这些未来的建设者有什么不同 看起来他们做的和做的都一样,结果也一样,不是吗 Future<double> future1 = Future(() => 36.6); Future<double> future2 = Future.value(36.6); Future future1=未来(()=>36.6); 未来2=未来价值(36.6); Future(回调)为DOM提供了反应时间,而不会进入runAsync队列 Future.value(value)的行为

这些未来的建设者有什么不同

看起来他们做的和做的都一样,结果也一样,不是吗

Future<double> future1 = Future(() => 36.6);

Future<double> future2 = Future.value(36.6);
Future future1=未来(()=>36.6);
未来2=未来价值(36.6);
Future(回调)
为DOM提供了反应时间,而不会进入
runAsync
队列

Future.value(value)
的行为类似于先前完成的Future(保留这些Future.value而不是每次创建一个新值是完全有效的),它确实进入了
runAsync
队列

看看下面的示例(它返回1,2,4,3,而不是1,2,3,4):

void main(){
Future.value()。然后((){
印刷品(1);
未来(()=>打印(3));
});
Future.value()。然后((){
印刷品(2);
Future.value()。然后()=>print(4));
});
}

是的,它们将显示相同的结果