FlutterFuture<void>vsFuture<Null>vsvoid

之间的主要区别是什么:

  1. Future<void> function(){}
  2. Future<Null> function(){}
  3. void function() {}
  4. funtion(){}

有时我在调用 API 时使用 void 或 future ,但我真的不知道主要区别是什么,什么时候使用它是正确的?

回答

  1. Future<void> function() {}

    定义一个异步函数,该函数最终不返回任何内容,但可以在最终完成时通知调用者。另请参阅:返回 void 与返回 Future 有什么区别?

  2. Future<Null> function() {}

    定义一个异步函数,null当它最终完成时最终返回。不要使用这个;这是 的古老形式Future<void>。它早于 Dart 2 并且是必要的,因为void还不是一个合适的类型,并且没有机制表明 aFuture应该不返回任何内容。另请参阅:Dart 2: Legacy of thevoid

  3. void function() {}

    定义一个不返回任何内容的函数。如果函数执行异步工作,调用者将无法直接知道它何时完成。

  4. function() {}

    定义具有未指定返回类型的函数。返回类型是隐式的dynamic,这意味着该函数可以返回任何东西。不要这样做,因为它没有传达意图;读者将无法判断是否有意或无意地省略了返回类型。它也会触发always_declare_return_typeslint。如果你真的想返回一个dynamic类型,你应该明确地使用dynamic function() {}


以上是FlutterFuture&lt;void&gt;vsFuture&lt;Null&gt;vsvoid的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>