在以下场景中检查空值的更优雅的方法是什么?

What's a more elegant way to check for null value in the following scenario?

我正在使用 Groovy。执行以下操作的更优雅的方法是什么?

if (!token) {
    token = this.getToken(key, callback)

    if(!token) {
      return params = null
    }

}

因此,如果用户进入此流程时令牌已经存在,则应使用该令牌。但是,如果令牌不存在,我们应该尝试生成一个。如果创建了 none,我们用来获取令牌的服务不会抛出异常,它只是 returns null。如果令牌未成功创建(仍为空),我们希望将参数设置为空。

有没有更简洁的方法来完成我正在做的事情?空检查中的空检查对我来说很难看。

可以使用 elvis 运算符重写第一部分以消除第一个空检查:

token = token ?: this.getToken(key, callback)
if (!token) {
   ...
}