Если вы управляете вызываемым API, рассмотрите возможность использования необязательного класса Guava
Подробнее здесь . Измените свой метод, чтобы он возвращал Optional
вместо Boolean
.
Это сообщает вызывающему коду, что он должен учитывать возможность нулевого значения, вызывая один из удобных методов в Optional
Эта конкретная ошибка является одним из раздражающих фактов о v8. В большинстве случаев ваш JavaScript каким-то образом не работает. Например, отсутствует }
или что-то в этом роде.
В приведенном примере это также приведет к «Неожиданному концу ввода»:
eval('[{"test": 4}') // notice the missing ]
Но основная причина проблем, по-видимому, заключается в том, что запрошенный URL-адрес JSON имеет Content-Type из text/html
, который Chrome, по-видимому, пытается проанализировать как HTML, что затем приводит к неожиданному завершению ввода из-за того, что анализируются включенные теги изображений.
Попробуйте установить для Content-Type значение text/plain
. Думаю, это должно решить проблему.
Тем не менее, V8 мог бы лучше справляться с работой, сообщая точно где ввод неожиданно закончился.
В моем случае я добавлял JavaScript динамично и использовал двойные кавычки 2 раза в строковых шаблонах, таким образом, я изменил второе на одинарные кавычки, и ошибка закончилась. Я надеюсь, что это поможет некоторым людям, приезжающим здесь по той же причине.
Я получаю эту ошибку, когда пропускаю закрывающую фигурную скобку (}
) в коде JavaScript.
Убедитесь, что ваши брекеты правильно сбалансированы.