• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 当前已知不支持推荐方案
2
31.注册的object回调不支持箭头函数写法,  注册回调格式为addXXX,注销回调格式为removeXXX,且回调方法命名格式为onXXX, 例如:
4
5```
6export interface InterfaceB {
7    byClass: (listener: InterfaceA) => void;
8}
9export interface InterfaceA {
10    callFunction: (res: number) => void;
11}
12```
13
14修改为:
15
16```
17export interface InterfaceB {
18    // object注册回调, 关键字:add
19    addByClass(listener: InterfaceA);
20    // object注销回调, 关键字:remove
21    removeByClass(listener: InterfaceA);
22}
23export interface InterfaceA {
24    onCallFunction(res: number): void;
25}
26```
27
282.注册回调只能支持单个参数, 且注册单个参数的注册回调方法命名格式为registerXXX, 例如:
29
30```
31export interface TestA {
32    bGyClass: (a: number, callback: (result: number) => void) => number;
33}
34```
35
36修改为:
37
38```
39export interface TestA {
40    // 原bGyClass的参数 callback: (res: number) => void 改为registerXXX/unRegisterXXX形式
41    // register形式注册回调, 关键字:register
42    registerTestACallback(callback: (dd: number) => void);
43    // unRegister形式注销回调, 关键字:unRegister
44    unRegisterTestACallback(callback: (dd: number) => void);
45    // gByClass用于调用回调
46    bGyClass: (a: number) => number;
47}
48```
49
503.生成报错:The current version does not support generating parameter。
51
52```
53genError:at paramGenerate [C:\snapshot\napi_generator\src\gen\generate\param_generate.js(899:17)] The current version does not support generating parameter [elementName] with type [ElementName]
54```
55
56ts文件为:
57
58```
59import { ElementName } from './bundleManager/ElementName';
60
61declare namespace cardEmulation {
62  export class HceService {
63    start(elementName: ElementName, aidList: string[]): void;
64    stop(elementName: ElementName): void;
65  }
66}
67export default cardEmulation;
68```
69
70修改:
71
72文件中引用了 ElementName 类型, 需要把被引用的文件( import { ElementName } from './bundleManager/ElementName'; )放到转换路径下工具才可进行转换