в onSuccess я попадаю только 1 раз. Соответственно Promise.all() не резолвится.
Не вижу связи между onSuccess и Promise.all. Если проблема с onSuccess, тогда она где-то внутри JCWebClient2.getTokenInfo, промисы тут ни при чём, как вы можете убедиться на приложенном мной скриншоте.
Ну вот видите, а в вашем коде он не используется. То есть вы привели какой-то сильно обрезанный кусок и ожидаете, что по нему кто-то сможет догадаться в чём у вас проблема?
Этот код тормозить не должен и, скорее всего, тормозит не он, а что-то другое. Единственное, что я тут вижу - это .slice(), который каждый раз будет возвращать новый массив. Но серьёзного влияния на производительность это не окажет.