【问题标题】:Monaca.getDeviceId() not able to set to variableMonaca.getDeviceId() 无法设置为变量
【发布时间】:2016-01-24 21:13:40
【问题描述】:

我尝试了多种方法将设备 ID 设置为一个变量一次,这样它就可以在其他函数中使用而无需 monaca 回调。此代码不起作用:

function getDevID(){
    monaca.getDeviceId(function(id){
        return id;
    });
}

这也不是:

var devid = monaca.getDeviceId(function(id){return id;});

所以基本上,我如何将设备 ID 设置为一个变量,以便在我的应用中重复使用?

更新:根据可能重复到异步调用的评论,我回去分析并发现它是正确的。虽然从技术上讲不是重复的帖子,但答案就在那篇关于异步工作流程的帖子中。我的问题可以这样解决:

var devid = '';

document.addEventListener ("deviceready", onDeviceReady, false);
function onDeviceReady() {
   monaca.getDeviceId(function(id){
      devid = id;
   });           
} 

然后我可以在加载后需要的任何地方使用 devid。

【问题讨论】:

标签: javascript onsen-ui monaca


【解决方案1】:

像您一样使用deviceready 事件侦听器肯定是最好的方法,只需记住在完成后删除事件侦听器即可。不过,如果您使用的是 Onsen UI,您也可以使用 ons.ready(),它等待 DOM 初始化。它可能会在deviceready 之后几毫秒被触发,但会为您节省一些代码并获得相同的结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-19
    相关资源
    最近更新 更多