Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Phonegap等待异步任务完成_Android_Multithreading_Cordova_Asynchronous - Fatal编程技术网

Android Phonegap等待异步任务完成

Android Phonegap等待异步任务完成,android,multithreading,cordova,asynchronous,Android,Multithreading,Cordova,Asynchronous,我有一个调用本机Java函数的JS函数。此本机函数向主机发送Bluetooth语句。此主机异步应答,此应答由处理程序获取 我的问题是,当答案实际存在时,是否可以将包含答案的结果发送回JS 我尝试发送第二个回调,但这无法正常工作,因为JS函数不会等到所有结果都出现(如本例中所述:)。在……之前就完成了 其次,我无法访问这一行代码(从示例中),我认为它已被弃用: this.success(result, this.myCallbackId); 希望你能帮忙 我更喜欢异步任务,但是嘿,不管你怎么做=

我有一个调用本机Java函数的JS函数。此本机函数向主机发送Bluetooth语句。此主机异步应答,此应答由处理程序获取

我的问题是,当答案实际存在时,是否可以将包含答案的结果发送回JS

我尝试发送第二个回调,但这无法正常工作,因为JS函数不会等到所有结果都出现(如本例中所述:)。在……之前就完成了

其次,我无法访问这一行代码(从示例中),我认为它已被弃用:

this.success(result, this.myCallbackId);

希望你能帮忙

我更喜欢异步任务,但是嘿,不管你怎么做=]

我也更喜欢维托在那一页上的回答(没有勾选的那一个);它直接调用javascript;我就是这么叫javascripts的


gl hf

我知道,它可能不是最先进的,或者性能可能非常差,但我为自己找到了一个解决办法:

第一步是发送请求,当所有答案都可用时,我在JS中调用一个函数,该函数启动从本机代码获取所有日期:

this.webView.sendJavascript("fetchValues("+ mResultArrayForResultValues+");");

如果有人有更好的方法来解决这个问题-请张贴它。到目前为止,我将使用这个解决方案

对不起,我没明白你的意思。我更喜欢使用回调解决方案是的,但它似乎已被弃用,或者不再工作(我不知道;没有检查)。异步不依赖于调用的回调。除了首选项之外,是否还有其他原因导致异步无法工作?试试看,你可能会喜欢它=]是的,你从哪里得到的信息,回调解决方案已被弃用?我会试一试——非常感谢!我只能告诉你我所知道的有用的东西,看到像PluginAdapter这样的东西让我不寒而栗。。。异步任务不会去任何地方;他们也有着惊人的力量;这可能不适用于您的问题,但当您想从UI获取信息、做一些耗时的事情、然后更改UI、通知适配器并在该数据上创建onClickListeners时,没有什么比异步任务更方便的了;我在圣诞节分发,我一边刷牙一边听他们的自述…=]我的建议是用“new myAsyncTask(data).execute();”来调用它。我还有一个问题:当我调用JS函数并返回任何PluginResult.Status.NO_结果时,如startpost上的给定链接所示,JS函数在那之后完成了吗?还是等到我用PluginResult.Status.OK发送另一个PluginResult?