在Dart中分离级联

时间:2015-09-28 21:14:50

标签: dart dart-shelf

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

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时,为什么没有处理它的相关路由?

1 个答案:

答案 0 :(得分:4)

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

您需要添加cc =

cc = cc.add(..)