在没有回调的情况下获取任务的结果

Posted

技术标签:

【中文标题】在没有回调的情况下获取任务的结果【英文标题】:Get the result of a Task without a callback 【发布时间】:2018-05-29 00:17:18 【问题描述】:

我目前正在尝试迁移我的所有位置调用以使用新的 Task 模型流,但我有一个问题是,有没有一种方法可以在无需等待回调的情况下获得任务结果?

我问的原因是因为我需要在将某些内容保存到数据库之前获取异步任务中的最后一个位置,但是由于我已经在另一个线程中,所以我不必担心需要时间加上没有异步任务中的回调错误?

文档说task.getResult() 只会在完成后给你一个结果

所以我的问题是,有没有办法同步执行?

以此为参考

https://developer.android.com/training/location/retrieve-current.html

【问题讨论】:

“在异步任务中没有回调不好”这取决于调用回调的线程。 【参考方案1】:

如果你已经在后台线程中,确实可以同步执行任务。为此,new API 现在是:

Result result = Tasks.await(task);

【讨论】:

以上是关于在没有回调的情况下获取任务的结果的主要内容,如果未能解决你的问题,请参考以下文章

回调函数

如何在没有任何 vue 库的情况下在 vue 回调中获取 http 响应标头(axios)

解开Future的神秘面纱之获取结果

回调函数 协程

中继fetchQuery:如何在没有片段结构的情况下获取查询结果

如何在没有计时器的情况下连续获取 AudioQueue 的更新