0

我在 Dart 中看到了一些奇怪的行为。我的目标是仅在存在构建/网络目录时才提供静态资产。

1-以下作品:

Cascade cc;
if(new Directory(buildPath).existsSync() )
{
  cc = new Cascade().add(apiHandler).add(fHandler);
} else {
  cc = new Cascade().add(apiHandler);
}

2-以下不起作用:

  Cascade cc = new Cascade().add(apiHandler);
  if( new Directory(buildPath).existsSync() )
  {
    cc.add(fHandler);
  }

问题:场景 1 中的示例运行良好。在第二个示例中,当我添加 fHandler 时,为什么它的关联路由都没有得到处理?

4

1 回答 1

4

Cascade 类是不可变的,因此 add 方法返回一个新实例。您的第二个代码块假设当前实例已修改

您需要添加 cc =

cc = cc.add(..)
于 2015-09-28T23:03:47.653 回答