我爲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