我从Flow中得到了一个我不理解的错误。
Cannot call document.createTreeWalker because:
⢠Either number literal 4 [1] is incompatible with number literal 1 [2].
⢠Or number literal 4 [1] is incompatible with number literal 5 [3].
⢠Or number literal 4 [1] is incompatible with number literal 128 [4].
⢠Or number literal 4 [1] is incompatible with number literal 129 [5].
⢠Or number literal 4 [1] is incompatible with number literal 132 [6].
⢠Or number literal 4 [1] is incompatible with number literal 133 [7].
hello.js
2â
3â const body = document.body;
4â if (body) {
5â document.createTreeWalker(body, NodeFilter.SHOW_TEXT, null, false);
6â }
7â
/tmp/flow/flowlib_18704f10/dom.js
[2] 1050â createTreeWalker<RootNodeT: Node>(root: RootNodeT, whatToShow: 1, filter?: NodeFilterInterface, entityReferenceExpansion?: boolean): TreeWalker<RootNodeT, Element>;
1051â createTreeWalker<RootNodeT: Node>(root: RootNodeT, whatToShow: 4, filter?: NodeFilterInterface, entityReferenceExpansion?: boolean): TreeWalker<RootNodeT, Text>;
[3] 1052â createTreeWalker<RootNodeT: Node>(root: RootNodeT, whatToShow: 5, filter?: NodeFilterInterface, entityReferenceExpansion?: boolean): TreeWalker<RootNodeT, Element|Text>;
[4] 1053â createTreeWalker<RootNodeT: Node>(root: RootNodeT, whatToShow: 128, filter?: NodeFilterInterface, entityReferenceExpansion?: boolean): TreeWalker<RootNodeT, Comment>;
[5] 1054â createTreeWalker<RootNodeT: Node>(root: RootNodeT, whatToShow: 129, filter?: NodeFilterInterface, entityReferenceExpansion?: boolean): TreeWalker<RootNodeT, Element|Comment>;
[6] 1055â createTreeWalker<RootNodeT: Node>(root: RootNodeT, whatToShow: 132, filter?: NodeFilterInterface, entityReferenceExpansion?: boolean): TreeWalker<RootNodeT, Text|Comment>;
[7] 1056â createTreeWalker<RootNodeT: Node>(root: RootNodeT, whatToShow: 133, filter?: NodeFilterInterface, entityReferenceExpansion?: boolean): TreeWalker<RootNodeT, Text|Element|Comment>;
:
[1] 3508â static SHOW_TEXT: 4;
在我看来
SHOW_TEXT
(即4)应该是允许的,因为第1051行将4列为第二个参数的有效值。我错过了什么?
要复制此文件,可以运行:
git clone https://github.com/MatrixFrog/flow-example
cd flow-example
git checkout 0f6035a8bb05cc8f0f01418d4617973991baa231
flow version # 0.73.0
flow check