asFunction<@DartRepresentationOf('NF') DF extends Function> 方法

DF asFunction<@DartRepresentationOf('NF') DF extends Function>(
  1. {bool isLeaf = false}
)

将转换成Dart函数,并自动进行参数和返回值的调配。

isLeaf 指定函数是否为叶子函数。叶子函数是小型、短时间运行、非阻塞函数,不允许回调到Dart或使用任何Dart VM API。叶子函数通过绕过标准的Dart-to-Native调用序列的一些较重的部分来调用,从而减少了调用开销,使得叶子调用比非叶子调用更快。然而,这也意味着执行叶子函数的线程无法与Dart运行时合作。长时间运行或阻塞的叶子函数将推迟任何需要在与隔离组关联的所有线程之间进行同步的操作,直到叶子函数返回后。例如,如果组中的一个隔离区正在尝试进行GC,而另一个隔离区由于叶子调用而阻塞,则第一个隔离区将必须暂停,等待叶子调用返回。

实现

external DF asFunction<@DartRepresentationOf('NF') DF extends Function>(
    {bool isLeaf = false});