我想返回小數部分,但如果函數花費太多時間,函數必須放棄。我試過這個,但它不起作用......我可能做錯了什麼。你能告訴我我的錯誤嗎?飛鏢異步/等待封裝
String decimalToFractional(double d) async {
var df = 1.0;
var top = 1;
var bot = 1;
var future = new Future<String>(() {
while (df != d) {
if (df < d) {
top += 1;
} else {
bot += 1;
top = (d * bot).toInt();
}
df = top/bot;
}
return new Future.value('$top/$bot');
});
future.timeout(new Duration(seconds: 2), onTimeout:() => new Future.value(d.toString()));
return await future;
}
它究竟如何不起作用? – Pavlo
我得到了未來的實例而不是價值。 – Druxtan
近距離投票是完全沒有必要的。這個問題很清楚,非常適合StackOverflow。 –