CallbackContext的作用

js每次执行exec的时候总会生成一个callbackId用来于之对应success回调和fail回调,可在“cordova/exec”模块中找到如下代码:

    var callbackId = service + cordova.callbackId++,
        argsJson = JSON.stringify(args);
    if (success || fail) {
        cordova.callbacks[callbackId] = {success:success, fail:fail};//保存回调函数
    }
    var msgs = nativeApiProvider.get().exec(bridgeSecret, service, action, callbackId, argsJson);

之后callackId传递给native,native在收到callbackId后用它初始化CallbackContext对象(目的就是保存callbackId),之后native在给调用webveiw.evaluateJavascript()根据callbackId找到对应回调函数执行


webveiw.evaluateJavascript('cordova.callbackFromNative(callbackId, true, args.status, [args.message], args.keepCallback);')

results matching ""

    No results matching ""