recogn-parse
Version:
recogn-parse 提供了 识别--解析 的机制,使用者只需要添加识别器 和 解析器,然后就可以对事件进行识别和解析,适合用所有具备 识别--解析 流程的场景中,如:加载并显示各种模型、预览文件等
214 lines (95 loc) • 3.14 kB
Markdown
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) > [recogn-parse](./recogn-parse.md) > [Resolver](./recogn-parse.resolver.md)
## Resolver class
解决者
**Signature:**
```typescript
export declare class Resolver<Options = any>
```
## Remarks
负责解析操作,所有的解析逻辑都是由该类来完成的。
每次执行解决操作时,会按照如下顺序调用解析器:
1. 如果找不到对应类型 type 的 解析器,则会终止解决流程。
2. 依次执行前置解析器 `preParses` 中的所有解析函数,即使有抛出错误,也会继续执行,并会以最后一个解析函数返回的结果为最终前置解析器的解析结果,然后将 前置解析的结果 传给后续的解析器。
3. 依次执行根据 类型 type 查找到的解析器序列。如果序列中任意解析器抛出错误,则会终止解决流程。否则,以最后一个解析函数返回的结果为最终的解析结果 并 传递给后续的解析器。
4. 依次执行后置解析器 `postParses` 中的所有解析函数,即使有抛出错误,也会继续执行,并会以最后一个解析函数返回的结果为最终的解析结果。
## Properties
<table><thead><tr><th>
Property
</th><th>
Modifiers
</th><th>
Type
</th><th>
Description
</th></tr></thead>
<tbody><tr><td>
[postParses](./recogn-parse.resolver.postparses.md)
</td><td>
</td><td>
[Parse](./recogn-parse.parse.md)<!-- --><Options>\[\]
</td><td>
后置解析器
</td></tr>
<tr><td>
[preParses](./recogn-parse.resolver.preparses.md)
</td><td>
</td><td>
[Parse](./recogn-parse.parse.md)<!-- --><Options>\[\]
</td><td>
前置解析器
</td></tr>
<tr><td>
[typeParsers](./recogn-parse.resolver.typeparsers.md)
</td><td>
</td><td>
[TypeParsers](./recogn-parse.typeparsers.md)<!-- --><any>
</td><td>
类型与解析器的映射
</td></tr>
</tbody></table>
## Methods
<table><thead><tr><th>
Method
</th><th>
Modifiers
</th><th>
Description
</th></tr></thead>
<tbody><tr><td>
[add(type, parser)](./recogn-parse.resolver.add.md)
</td><td>
</td><td>
添加解析器
</td></tr>
<tr><td>
[addParsers(parsers)](./recogn-parse.resolver.addparsers.md)
</td><td>
</td><td>
添加多个解析器
</td></tr>
<tr><td>
[remove(type, parser)](./recogn-parse.resolver.remove.md)
</td><td>
</td><td>
删除 解析器
</td></tr>
<tr><td>
[removeType(type)](./recogn-parse.resolver.removetype.md)
</td><td>
</td><td>
移除指定类型的解析器
</td></tr>
<tr><td>
[resolve(type, target, targetOptions, recognResult)](./recogn-parse.resolver.resolve.md)
</td><td>
</td><td>
解决
</td></tr>
<tr><td>
[resolveAsync(type, target, targetOptions, recognResult)](./recogn-parse.resolver.resolveasync.md)
</td><td>
</td><td>
异步解决
</td></tr>
</tbody></table>