Javascript 封送C和Emscripten-回调

Javascript 封送C和Emscripten-回调,javascript,c#,interop,marshalling,emscripten,Javascript,C#,Interop,Marshalling,Emscripten,我试图创建一个C方法并将其链接到一个现有的JavaScript方法,但我在使用和使用方面遇到了一些困难。 我试图在代码中包含我的问题,因为这样更容易理解 下面是javascript方法 // What are the types of those parameters ? JS_WebRequest_SetHandler: function (request, arg, onresponse) { var http = wr.requestInstances[request];

我试图创建一个C方法并将其链接到一个现有的JavaScript方法,但我在使用和使用方面遇到了一些困难。 我试图在代码中包含我的问题,因为这样更容易理解

下面是javascript方法

// What are the types of those parameters ?
JS_WebRequest_SetHandler: function (request, arg, onresponse)
{
    var http = wr.requestInstances[request];
    http.onload = function http_onload(e) {
    // ...
    var byteArray = new Uint8Array(http.response);
    var buffer = _malloc(byteArray.length);
    HEAPU8.set(byteArray, buffer);
    Runtime.dynCall('viiii', onresponse, [arg, http.status, buffer, byteArray.length]);
    // ...
}
这里是C的内容

// Are the types right ?
[DllImport("__Internal")]
private static extern void JS_WebRequest_SetHandler(int request, IntPtr arg, IntPtr onresponse);

public void SetHandler(string arg) // Example with a string
{
    // How can I link the OnResponse method to the JS_WebRequest_SetHandler onresponse ?
    // What types should I use ?
    JS_WebRequest_SetHandler(request, arg, onresponse);
}

// Are those types right ?
public void OnResponse(IntPtr arg, IntPtr status, IntPtr buffer, IntPtr length)
{
    // How can I extract the data of each argument ?
}

非常感谢

您为Unity WebGL target这样做对了吗?您找到解决方案了吗?@polkovnikov.ph Yep这与Unity WebGL及其处理http请求的方式有关。但根据Unity 5.2的新版本,这可能不再是一个问题,因为他们采用了新的处理方式。它具体写在哪里?关于JS插件的页面根本没有提到Runtime.dynCall。顺便说一下,这是我的代码缺少的部分。非常感谢。