你会怎样用更多kotlinic的方式编写下面的代码?什么时候应该使用let {},什么时候只是简单的!= null
var returnValue = ...
val s3data = presignedUrl.body()
if (s3data != null) {
val uploadImage = api.uploadImage(s3data.bucketUrl, s3data.awsAccessKeyId, s3data.policy, s3data.key, s3data.signature, body).execute()
if (!uploadImage.isSuccessful) {
crashReporterService.sendIssue("Failed uploading file", "Failed uploading file ${uploadImage.raw()}")
returnValue = Result.FAILURE
} else {
returnValue = Result.SUCCESS
}
} else {
crashReporterService.sendIssue("Failed uploading image", "Error - ${presignedUrl.raw()}")
returnValue = Result.FAILURE
}
return returnValue
我可以用让,但我觉得它使代码更复杂,难以理解
关于你的代码的一个注释:返回asap是一个很好的练习afaik,缩小范围并简化逻辑 – DPM