Я нашёл способ обойти это предупреждение об устаревании, при этом по-прежнему получая доступ к user_field:
api.getCurrentUser().findDetails().then((user) => { ... });
Однако findDetails всегда отправляет запрос на сервер. Ничего не кэшируется. После его вызова у текущего пользователя будут заполнены user_fields.
Так что логику можно немного оптимизировать, например так:
function withUserFields(user, callback) {
if (user.user_fields === undefined) {
user.findDetails().then(callback);
} else {
callback(user);
}
}
withUserFields(api.getCurrentUser(), (user) => {
// сделать что-то с user.user_fields[]
});