弃用通知:获取用户对象的时区属性已弃用,请改用 user_option 对象

我找到了一个绕过此弃用提示的方法,同时仍然可以访问 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[] 执行某些操作
});