IOS中的windjs使用问题

20 views
Skip to first unread message

Nebel Tenero

unread,
Aug 28, 2012, 7:52:29 AM8/28/12
to win...@googlegroups.com

<h2>1</h2>
<div id="J_iosLog"></div>
<h2>2</h2>
<div id="J_iosLog2"></div>
<h2>3</h2>
<div id="J_iosLog3"></div>
<script src="js/exlib.js"></script>
<script src="js/lib/wind.js"></script>
<script>

    function trickApple(funcName,paramArray){

        var strHref = "objc://"+funcName;

        if(paramArray){
            for(var i=0;i<paramArray.length;i++){
                strHref+=":"+paramArray[i];
            }
        }

        window.location.href="objc://"+funcName;


    }



    function getApple(){
        /*获取设备的信息*/

        trickApple("getApple");

       // window.location.href="objc://getApple";



    }
    function setApple(udid) {
        //$("#J_iosLog").html(udid);

        $("#J_iosLog").html(" 异步:"+new Date().getTime());
        window.doGetAppleData = {
        
            udid:udid
         
        }

    }
    function doGetApple(deviceId_encode){

        setApple(deviceId_encode);
        $("#J_iosLog2").html("异步:"+new Date().getTime()+"-"+ window.doGetAppleData);

    }

    var testSync2 = eval(Wind.compile("async", function () {

        $await(getApple());
        $("#J_iosLog3").html("同步:" +new Date().getTime()+"-"+window.doGetAppleData);
    }));

    var testSync =function(){
        getApple();
        $("#J_iosLog3").html("同步:" +new Date().getTime()+"-"+window.doGetAppleData);
    }


</script>

<button onclick="testSync();">非wind</button>
<button onclick="testSync2();">wind</button>



第一次执行,我点 非wind 按钮,是没有异步的情况,是获取不到window.doGetAppleData数据的。因为这个时候 ios与js的交互是回调异步的

但我 点wind按钮,没有任何执行。


不知道是什么问题。
有同学试过 ios与js的交互开发中用windjs把异步情况改为同步的状态的么。


Jeffrey Zhao

unread,
Aug 28, 2012, 9:18:59 AM8/28/12
to win...@googlegroups.com
$await的东西必须是一个Task,例如是另一个Wind方法(就是eval(compile())后的),或是自定义或是内置的异步方法,你现在$await的是getApple(),显然是不对的……
 
--
 
 
 
Reply all
Reply to author
Forward
0 new messages