cordova.js 在其自己的回调中抛出错误

cordova.js throwing error on its own callback

提问人:rolinger 提问时间:11/3/2023 最后编辑:rolinger 更新时间:11/3/2023 访问量:28

问:

这最近刚刚在我的 Cordova 应用程序中弹出:

ErrorIn = https://myapp/cordova.js
ErrorAt = 314 : 13
Message = Uncaught TypeError: Cannot read properties of undefined (reading 'message')

第 314 行(来自下面的函数)是:

       cordova.fireWindowEvent('cordovacallbackerror', { message: msg, error: err });  

那是它的......没有别的了。我无法追踪它或确定导致这种情况的原因。我唯一能够确定的另一件事是它碰巧的所有用户都在 Android 三星设备上。

Cordova CLI 11.1.0 科尔多瓦-安卓:11.0.0

下面是引发错误的函数:

/**
 * Called by native code when returning the result from an action.
 */
callbackFromNative: function (callbackId, isSuccess, status, args, keepCallback) {
    try {
        var callback = cordova.callbacks[callbackId];
        if (callback) {
            if (isSuccess && status === cordova.callbackStatus.OK) {
                callback.success && callback.success.apply(null, args);
            } else if (!isSuccess) {
                callback.fail && callback.fail.apply(null, args);
            }
            /*
            else
                Note, this case is intentionally not caught.
                this can happen if isSuccess is true, but callbackStatus is NO_RESULT
                which is used to remove a callback from the list without calling the callbacks
                typically keepCallback is false in this case
            */
            // Clear callback if not expecting any more results
            if (!keepCallback) {
                delete cordova.callbacks[callbackId];
            }
        }
    } catch (err) {
        var msg = 'Error in ' + (isSuccess ? 'Success' : 'Error') + ' callbackId: ' + callbackId + ' : ' + err;
       cordova.fireWindowEvent('cordovacallbackerror', { message: msg, error: err });  // ERROR HERE
        throw err;
    }
},

关于如何追踪这一点的任何建议?

javascript angularjs 科尔多瓦

评论

0赞 BadPiggie 11/3/2023
这是来自的代码吗?看来你看错了地方。它可能由于副作用而发生。共享线路 no incordova.js314cordova.js
0赞 rolinger 11/3/2023
LINE 314 列在函数中// ERROR HERE
1赞 BadPiggie 11/4/2023
我可以有一个完整的错误堆栈吗?
0赞 rolinger 11/4/2023
这就是问题所在......这是唯一的错误。我无法分辨是什么产生了它,或者是什么触发了它。我的意思是,它本身......如果它没有在错误报告中提供自己的堆栈跟踪,我不知道如何捕获它。这就是我在这篇文章中要求的。我的错误报告代码执行堆栈跟踪...。这就是我所得到的。cordova.js

答: 暂无答案