Вот поворот, который я нашел по этой проблеме, который может быть полезен для некоторых людей, сталкивающихся с этой проблемой (и он, вероятно, объясняет периодические сбои, которые, кажется, не поддаются объяснению) ...
Если какие-либо исключенияБрошенный (и не перехваченный) в код обработчика возврата перед тем, как разрешить обратный вызов интерфейса javascript для возврата в чистое состояние, он будет распространяться обратно как неудачный вызов, и вы также получите эту ошибку - и это не будет иметь ничего общего с отсутствующими функциями или параметрами.
Самый простой способ найти этот случай (независимо от того, используете ли вы это в своей окончательной реализации) - это вставить любой код обработчика, который у вас есть, обратно в поток пользовательского интерфейса (обратный вызов не будет в потоке пользовательского интерфейса).- это позволит обратному вызову вернуть чистый, и любые последующие исключения будут правильно распространяться до тех пор, пока вы их не поймаете или пока приложение не выйдет из строя.В любом случае вы увидите, что именно происходит на самом деле.В противном случае необработанное исключение передается обратно в javascript, где оно не будет обработано или сообщено каким-либо образом (если только вы специально не встроили код перехвата ошибок в JS, который выполняли).
Удачи всем.
ЧД