【发布时间】:2018-06-03 10:39:06
【问题描述】:
所以我在我的颤振应用程序中有这段代码 - 这里函数 refreshState 被方法 foo 调用,该方法传入一个 lambda。但是在调试期间它说回调为空。任何想法为什么会发生这种情况,因为我的回调代码没有被执行。
void refreshState(Function callback)
{
if(isAlive) {
setState(() {
if (callback != null) {
callback;
}
});
}
}
在我的代码中的某一时刻我正在这样做
void didPush() {
foo();
}
void foo()
{
refreshState(() { //<------------------This lambda is showing up as null in the paramter of refreshState
isBusy = true;
});
}
关于为什么这个 lamda 在 refreshState 函数参数中显示为 null 的任何想法?
【问题讨论】:
-
好吧,我传递它的方式与传递给 setState 的方式一模一样。
-
检查我的答案。您也可以在调试视图中单击
callback以查看其内容。() =>总是意味着函数返回一些东西。