鉴于以下:
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函数,以防止在没有提供回调的情况下东西破裂。