【发布时间】:2022-01-18 09:52:11
【问题描述】:
我目前正在使用 AWS 开发工具包构建应用程序。其中一个 API 是登录,除了电子邮件和密码外,还需要一个回调,以便取回请求的状态。问题是我无法发回结果。
这是我的代码:
override suspend fun signIn(email: String, password: String): Result<SignInResult> =
withContext(ioDispatcher) {
try {
api.signIn(email, password, object : Callback<SignInResult> {
override fun onResult(result: SignInResult?) {
Result.Success(result!!)
}
override fun onError(e: Exception?) {
Result.Error(e!!)
}
})
} catch (e: Exception) {
Result.Error(e)
}
}
问题是协程登录需要返回Result,但我不知道要返回什么,因为我应该只在onResult、onError 和捕获异常时返回。
知道如何让它工作吗?
谢谢
【问题讨论】:
标签: android kotlin kotlin-coroutines coroutine