找到流量错误的来源

时间:2016-12-12 05:01:34

标签: javascript flowtype

我有一个流程注释的JavaScript项目。当我在其上运行flow时,它会给我这个错误:

$ flow 
./layout/layoutTypes.js:48
 48:   type: 'LayerGroup',
             ^^^^^^^^^^^^ string literal `LayerGroup`. Expected string literal `RootLayer`, got `LayerGroup` instead
 57:   type: 'RootLayer',
         ^^^^^^^^^^^ string literal `RootLayer`

./layout/layoutTypes.js:57
 57:   type: 'RootLayer',
             ^^^^^^^^^^^ string literal `RootLayer`. Expected string literal `LayerGroup`, got `RootLayer` instead
 48:   type: 'LayerGroup',
         ^^^^^^^^^^^^ string literal `LayerGroup`

Found 2 errors

layoutTypes.jsas such here。单独检查时没有流错误,但是当与其他一些文件一起在本地运行时,似乎没有错误源的错误。

这会是什么样的错误?我怎么能揭露问题的根源?

1 个答案:

答案 0 :(得分:1)

由于流类型推断,可能会发生这种情况。在某个地方你有一个被推断为RootLayer / LayerGroup的对象,而流程需要一个但看到另一个。缩小发生这种情况的一种方法是查看更长的“错误路径”。为此,请运行:

Public Module WebApiConfig Public Sub Register(ByVal config As HttpConfiguration) ' Web API configuration and services ' Web API routes config.MapHttpAttributeRoutes() config.Routes.MapHttpRoute( name:="DefaultApi", routeTemplate:="api/{controller}/{id}", defaults:=New With {.id = RouteParameter.Optional} ) End Sub End Module

您可以使用更低或更高的数字,具体取决于您想要的流量。这将创建一个列表,显示流遇到该特定错误时所遵循的路径。该列表的某处(开头,中间或末尾)将是触发此操作的代码。一步一步走,直到找到它。