我有一个流程注释的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.js
是as such here。单独检查时没有流错误,但是当与其他一些文件一起在本地运行时,似乎没有错误源的错误。
这会是什么样的错误?我怎么能揭露问题的根源?
答案 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
您可以使用更低或更高的数字,具体取决于您想要的流量。这将创建一个列表,显示流遇到该特定错误时所遵循的路径。该列表的某处(开头,中间或末尾)将是触发此操作的代码。一步一步走,直到找到它。