Проблема в том, что когда я пытаюсь передать объект java List (ArrayList) в javascript как ProxyArray (ProxyArray.fromList ()), его нельзя использовать с .forEach и .push. Также, если я передаю объект java List как есть, его можно использовать с .forEach, но не с .push. Есть какое-нибудь решение?
Вот суть https://gist.github.com/okrean/5d6978bac15f257b90f581f371769935



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Экземпляр java.util.ArrayList в некотором роде ведет себя как массив JS, однако экземпляры java.util.ArrayList не имеют для своего прототипа значения Array.prototype.
Вот почему функция push не найдена в вашем значении, а вызываемая функция forEach на самом деле является функцией forEach, найденной в объекте Java, а не forEach из массива JS.
Обходной путь - преобразовать java.util.ArrayList в массив JS вручную, используя Java.from(value) в JS.
См. Также обсуждение в Эта проблема.