打字稿生成器:SyntaxError:意外的严格模式保留字

时间:2021-05-04 21:30:27

标签: typescript generator

我正在学习一些Typescript并使用Trie结构来测试一些概念,似乎我不太了解生成器。打字稿和 js 的混合无济于事。

在找到初始节点后,我的搜索需要遍历递归结构。

    search(prefix: string): Generator<[string, V], undefined, boolean> {
        const findNode = [...]
    enter code here
        function* walkNodes(node: TrieNode<V>,  prefix: string): Generator<[string,V], undefined, boolean> {
            if (node.value != undefined) {
               node.children.forEach( (child, key) => 
                    yield * walkNodes(child, prefix + key)
                )
            } else {
                yield [prefix, node.value!]
            }
            return undefined
        }

        const startNode = findNode(prefix, this) 
        return walkNodes(startNode!, prefix)
    }

翻译时出现错误,我理解但不知道如何避免。

return yield* walkNodes(child, prefix + key);
                                   ^^^^^

SyntaxError: Unexpected strict mode reserved word
    at Object.compileFunction (node:vm:355:18)

现阶段我不确定发生了什么,如何在对象内部使用yield?

谢谢。

0 个答案:

没有答案