我想从目标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中访问下载的变量
答案 0 :(得分:0)
我已经解决了这个问题。我更改了这一行:
xhr.open("GET", path, true);
到此:
xhr.open("GET", path, false);
现在它会同步下载文件。