在Objective C中使用匿名异步方法调用javascript方法

时间:2014-03-28 14:21:50

标签: javascript objective-c

我想从目标c调用一个javascript方法,它将返回一些数据。我知道如何使用JSContext调用一个简单的方法。但问题是这个方法是通过XmlHttpRequest异步调用下载文件。我想访问下载的数据变量,但一段时间后才可用。我怎样才能做到这一点。例如:

    function download(path)
{
    xhr.open("GET", path, true);
    xhr.responseType = "arraybuffer";
    //asynchronous method call
    xhr.onload = function () {
        var file = new Uint8Array(xhr.response || xhr.mozResponseArrayBuffer);

        var downloaded = populateImageData(file);
        //Want to access this variable in objective-c
        return downloaded.toString();
    };
    xhr.send(null);
}

如何在目标c中访问下载的变量

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题。我更改了这一行:

xhr.open("GET", path, true);

到此:

xhr.open("GET", path, false);

现在它会同步下载文件。