我想返回小数部分,但如果函数花费太多时间,函数必须放弃。我试过这个,但它不起作用......我可能做错了什么。你能告诉我我的错误吗?飞镖异步/等待封装
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。 –