2013-10-30 61 views
0

我正在通過一些older Dart code,解決與最新的Dart SDK的變化。這一次我想不通:替換爲Future.transform?

Future<DateTime> get lastsave => 
client.lastsave.transform((int unixTs) => 
    new DateTime.fromMillisecondsSinceEpoch(unixTs * 1000, isUtc:true)); 

=>

The method 'transform' is not defined for the class 'Future<List<int>>' 

據我瞭解,Future.transform()的目的是爲了應用同步轉換(見例如this話題)。即將異步呼叫轉換爲同步呼叫並返回值。

已將Future.transform替換爲其他內容嗎?

回答

3

一定是相當一段時間,因爲這些代碼被更新;)

只需更換與改造,然後,它應該工作。

https://groups.google.com/a/dartlang.org/forum/#!topic/misc/Boch2XH9Tmk

我們還改進了以後的類,並使其更易於使用。一個簡單的「then」方法可以讓您對未來的結果應用異步或同步函數,合併三個方法「chain」,「transform」和「then」。 Streams and Futures應該使異步Dart程序更容易編寫和讀取,並且應該減少某些類型的編程錯誤。

+0

是的,幾個月大。謝謝! – Max