不知何故,我发现每个函数都有call()
方法.
使用此方法,我可以将if (callback != null) callback()
更改为callback?.call()
.
所以我试着go 找call()
的实现和文档,但是找不到,只是内置的方法吗?这个方法的实现是什么?它内部会调用Function.apply()
吗?
不知何故,我发现每个函数都有call()
方法.
使用此方法,我可以将if (callback != null) callback()
更改为callback?.call()
.
所以我试着go 找call()
的实现和文档,但是找不到,只是内置的方法吗?这个方法的实现是什么?它内部会调用Function.apply()
吗?
所有DART functions(具有函数类型而不是类/接口类型的对象)都有call
方法.
call
方法与函数本身具有相同的函数类型,在调用它时,它的行为完全相同.你甚至可以说,调用函数is隐式地调用它的call
方法.
其他省道对象也可能有call
方法.这只是接口类型的普通方法,但如果类C
有一个类似int call(int x) => ...
的调用方法,而c
有类型C
,那么c(e2, e3)
也会转换为c.call(e2, e3)
.它必须是一个call
method,而不仅仅是一个返回函数的call
getter.