公开来自 C# 插件的事件,并在 js 中访问 cordova
本文关键字:并在 js cordova 访问 事件 插件 | 更新日期: 2023-09-27 17:57:10
我在 cordova 中为 Windows Phone 8 开发了一个插件。这就像一个上传功能,我继续在后台上传数据,并在完成后返回成功。在这里,我想返回中间上传的文件的百分比,我计划通过progressevent
公开它。
我正在使用PhoneGap 2.3
FileTransfer
类中尚未提供的地方。
如何创建和触发事件,以便我可以在 javascript 中访问它?
我尝试使用命令调度程序,但它调用成功函数而不是订阅 onProgress 事件的函数。
看看最新的Cordova文件传输代码,你会想要做类似的事情。 https://github.com/apache/cordova-plugin-file-transfer/blob/master/www/FileTransfer.js
在 C# 代码中,保留对回调的引用,并使用进度数据持续调用回调。请记住将 KeepCallBack 设置为 true。
PluginResult result = new PluginResult(progressData);
result.KeepCallback = true;
DispatchCommandResult(result);
在 JavaScript 中,成功处理程序将获取进度数据。 FileTransfer#upload
通过创建一个新的成功回调来处理这个问题,该回调调用onprogress
或successCallback
,具体取决于收到的数据。https://github.com/apache/cordova-plugin-file-transfer/blob/651460fb6b41035c96bcc31a38621ec8100648f1/www/FileTransfer.js#L133