この非推奨通知を回避しつつ、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[] を使って何かを行う
});