鉴于以下:
https://github.com/Uepaa-AG/p2pkit-cordova

例如,我不知道如何称呼onEnabled。不使用'ts'的例子显然很好。

但是现在我正在使用TypeScript,我似乎无法正确调用嵌套函数。

我有这个:
cordova.plugins.p2pkit.enable("xyzzy", this.p2pkitCallback, function...

p2pkitCallback() {
        onEnabled() {
          console.log('p2pkit enbled');
          cordova.plugins.p2pkit.enableProximityRanging()
          cordova.plugins.p2pkit.startDiscovery('', cordova.plugins.p2pkit.HIGH_PERFORMANCE) // base64 encoded Data (bytes)=
    }


onEnabled()当然会以红色突出显示...
我应该如何重构代码?

谢谢!

最佳答案

您可以按以下方式在Typescript中传递和调用回调函数;

声明一个回调函数参数,并使其异步。

public generate(report: Report, callback: () => any = () => {}): void {
    this.generateReport(report, ReportType.PDF).then(callback);
}


将回调传递给函数的示例:

doFilter(payload): void {
    const callback = () => this.filter.hide();
    this.reportService.generate(payload.reportKey, callback);
  }


请注意,在我的示例中,我可以选择将回调变量分配给noop函数,以防止在没有提供回调的情况下东西破裂。

07-26 01:04