У нас есть внутренняя система, в которой СУБД СУБД хранит тысячи записей кодов JS. Обычно они содержат определения классов JS, которые всегда доступны для любого кода сценария JS, работающего в системе. Так что мой JS скрипт может быть просто:
var util = new MyAwesomeUtil();
util.doSomethingCool(12);
Где определение MyAwesomeUtil
определено в некоторой записи указанной таблицы c. Также эти классы могут ссылаться на другие определения в других записях той же таблицы.
Одним из способов может быть то, что я читаю все записи и пропускаю их во время выполнения V8, а затем выполняю свой последний скрипт. Однако это имеет серьезные ограничения, так как это может быть использование только одного API, и для этого я прочитал и оценил тысячи скриптов. Также мне нужно как-то выяснить порядок, в котором я должен оценивать эти записи, поскольку они могут ссылаться друг на друга (но не в циклах).
Мне было интересно, есть ли способ в J2V8, где любая неопределенная ссылка на тип будет вызвать зарегистрированный Java обратный вызов, который затем может загрузить этот скрипт?