我必须编写一个耗时的函数,如果它准备好了,它将返回一个 Future。下面的方法是否正确,或者我在第 9 行中的耗时算法是否会阻止程序直到它准备好。在这种情况下,我该怎么做才能将控制权交还给事件循环,或者还有什么可以解决的?
Future<int> timeconsumingFunctionReturningFuture(int i) {
var completer = new Completer();
if (i==0) {
completer.completeError(88);
return completer.future;
} else {
int rc;
// Line9: rc = timeconsuming algorithm, to calculate rc
completer.complete(rc);
return completer.future;
}
}
Tnx米查