同步调用本机函数

Posted

技术标签:

【中文标题】同步调用本机函数【英文标题】:Call native function Synchronously 【发布时间】:2012-05-25 00:39:55 【问题描述】:

我使用 Phonegap Plugins 从 Java Script 调用我的 Objective C 函数。

但从 svn 上看到的源代码看来,异步行为(回调函数)实际上是 iPhone 处理调用的本机方式。

有没有一种方法可以让我在 ios-iPhone/iPad 应用程序中从我的 JS 进行同步调用?

我的 JS 应该做如下的事情

<script type="text/javascript">

function myfunc()

    var ret = CallMyObjCFunction();

    alert(ret);



</script>

【问题讨论】:

【参考方案1】:

一切都需要异步。您将函数的结果在 CDVPluginResult 中发送回 Javascript。

您的 javascript 可能看起来更像

function myfunc()

    function success(result) 
        alert(result);
    

    function fail() 
        alert("There was a problem");
    

    cordova.exec(success, fail, "YourPlugin", "CallMyObjCFunction", [])

【讨论】:

【参考方案2】:

没有。 iOS 公共 API 中似乎不存在此类同步调用。

【讨论】:

以上是关于同步调用本机函数的主要内容,如果未能解决你的问题,请参考以下文章