大鱼泡泡
大鱼泡泡
  • 发布:2015-07-30 23:01
  • 更新:2019-12-10 10:20
  • 阅读:5782

对于plus.runtime.getproperty等异步方法的疑问

分类:HTML5+

请问一下。
对于
var localVer = null;
plus.runtime.getProperty(plus.runtime.appid, function(inf) {
localVer = inf.version;
});
console.log("当前应用版本:" + localVer);

这种异步方法,如何用代码实现串行。因为上述代码经常会显示localVer为NULL

还有诸如plus.io.requestFileSystem
plus.downloader.createDownload
plus.runtime.install

这些方法。

我目前只能在方法内进行代码的后续操作。

2015-07-30 23:01 负责人:无 分享
已邀请:
大鱼泡泡

大鱼泡泡 (作者)

还是自己的事。自己解决吧。

javascript异步原理:
异步代码会被放入一个事件队列,等到所有其他代码执行后才进行,而不会阻塞线程。

所以只需要将这段代码改成这样:
var localVer = null;
plus.runtime.getProperty(plus.runtime.appid, function(inf) {
localVer = inf.version;
});
setTimeout(function() {
console.log("当前应用版本:" + localVer);
}, 100);

当然,对于timeout 中的时延,要看实际的业务逻辑处理来把握好分寸。

目前,这种方法还行。看一下能不能找到更好的方法

大鱼泡泡

大鱼泡泡 (作者)

自己顶起来

benjaminatcd

benjaminatcd

我以前是直接存到localStorage然后其他地方再取出来 。。。

1***@qq.com

1***@qq.com - 学习

我现在也是这个问题,目前我的解决方式是运行的代码都放在这个里面,但是没办法创建全局变量,每次都要获取,就很麻烦

该问题目前已经被锁定, 无法添加新回复