我有一个函数应该从数据库或服务器返回结果。但是服务器可能会失败并且什么都不返回,在这种情况下,我需要重复服务器请求,直到它返回结果:
def getToken() =
getTokenFromDb orElse getTokenFromServer() map { t =>
saveTokenToDb(t)
t
}
除了使用循环之外,getTokenFromServer()
在我得到良好响应之前,重复请求的明智解决方案是什么?while
也许使用while
是一个很好的解决方案?