【发布时间】:2019-11-10 19:50:07
【问题描述】:
是否可以在 compute 函数中使用 BuildContext?
Future<int> getFuture() async {
int r = await compute(count, context);
return r;
}
static int count(BuildContext context) {
// Something very slow.
return 10;
}
尝试将context 传递给compute 时收到以下错误:
I/flutter ( 8764): AsyncSnapshot<int>(ConnectionState.done, null, Invalid argument(s): Illegal argument in isolate message : (object is a closure - Function '_handleBuildScheduled@374399801':.))
如果我将计数函数的输入更改为其他普通类,它可以正常工作。
有没有办法解决这个问题? 或者是否可以在 Isolate 中使用 BuildContext? 谢谢!
【问题讨论】:
-
问题是:你为什么要这么做?
-
我的代码使用 BuildContext 计算了一些复杂的东西。
-
所以你必须改变它,使它不使用
BuildContext
标签: flutter dart dart-isolates