我为cordova为windows phone 8开发了一个插件。它就像上传功能一样,我一直在后台上传数据并返回成功。 这里我想要返回上传文件的百分比,我打算通过progressevent
公开它。从C#插件公开事件并在js中访问cordova
我正在使用PhoneGap 2.3
其中它尚未在FileTransfer
类中提供。
如何创建和触发事件,以便我可以在JavaScript中访问它?
我试过使用命令调度程序,但它调用成功函数,而不是订阅了onProgress事件的函数。
我为cordova为windows phone 8开发了一个插件。它就像上传功能一样,我一直在后台上传数据并返回成功。 这里我想要返回上传文件的百分比,我打算通过progressevent
公开它。从C#插件公开事件并在js中访问cordova
我正在使用PhoneGap 2.3
其中它尚未在FileTransfer
类中提供。
如何创建和触发事件,以便我可以在JavaScript中访问它?
我试过使用命令调度程序,但它调用成功函数,而不是订阅了onProgress事件的函数。
看看最新的Cordova FileTransfer代码,你会想做类似的事情。 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