在 Bolts 中,如何使用 continueWith() 和 continueWithTask()?

2024-02-04

除了同步与异步之外,它们文档中的差异也让我感到困惑。他们的例子github页面 https://github.com/BoltsFramework/Bolts-Android#chaining-tasks-together看起来仍然是同步调用的延续。

continueWith() Adds a synchronous continuation to this task, returning a new task that completes after the continuation has finished running.

continueWithTask() Adds an asynchronous continuation to this task, returning a new task that completes after the task returned by the continuation has completed.


当你有返回一个的辅助方法时Task对象,你不能使用continueWith() or onSuccess()因为 Bolts 代码不会将其视为Task并等待其执行。它将治疗Task作为一个简单的数据结果。

基本上,这是行不通的,因为该链的最终任务是Task<Task<Void>>:

update().onSuccess(new Continuation<ParseObject, Task<Void>>()
{
  public Task<Void> then(Task<ParseObject> task) throws Exception
  {
    return Task.delay(3000);
  }
}) // this end returns a Task<Task<Void>>

但这会起作用并且链会返回一个Task<Void>:

update().onSuccessTask(new Continuation<ParseObject, Task<Void>>()
{
  public Task<Void> then(Task<ParseObject> task) throws Exception
  {
    return Task.delay(3000);
  }
}) // this end returns a Task<Void>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Bolts 中,如何使用 continueWith() 和 continueWithTask()? 的相关文章

  • 在 Android Pie 上启动 context.startService(intent)

    我在 Activity 的 onResume 上启动了一项服务 它在 Oreo 上运行良好 但最近我看到 Android P 崩溃 显示 无法恢复 Activity 不允许启动服务意图 应用程序在后台 有没有人以前见过这个并且能够应用修复
  • Android itemizedOverlay 的 onTap 操作被覆盖

    我有一堂课 class MapItemizedOverlay extends com google android maps ItemizedOverlay
  • Firebase 存储 URL 不断随着新令牌的变化而变化

    我正在尝试使用 firebase 数据库和存储构建社交媒体应用程序 以下是预期的流程 用户上传个人资料图片 该图片存储在当前用户文件夹中的 Firebase 存储中 并且 URL 存储在 Firebase 数据库中以便快速访问 工作正常 用
  • MotionLayout:如何限制特定视图上的“OnSwipe”事件而不是整个屏幕上的“OnSwipe”事件

    我有一个带有以下 layoutDescription 场景文件 的运动布局
  • Android 相机 - 将图像保存到 SD 卡中的新文件夹中

    我有一个非常简单的应用程序 目前可以拍照然后保存图像 目前的问题是 由于某种原因 我无法找到图像在手机上的保存位置 我想要做的最终结果是 当拍摄照片时 图像会保存到 SD 卡上创建的新文件夹中 但如果该文件夹尚不存在 则必须创建该文件夹 自
  • Android Honeycomb 中的加载器

    我正在尝试弄清楚如何使用Loaders在 Android 3 0 中 但似乎无法让它工作 该文档仅描述使用CursorLoader但我正在使用AsyncTaskLoader 从文档看来你应该只需要实现AsyncTaskLoader load
  • java.io.IOException:无法打开同步连接!进入 Nexus [重复]

    这个问题在这里已经有答案了 我尝试在 Eclipse 上运行我的应用程序 但发现了这些错误 这是第一次遇到 所以请给我关于这些错误的任何想法 我目前使用的是 Nexus 手机 2011 08 04 15 59 09 App Android
  • 未定义的参考错误 - rand

    我正在创建一个命令行 C 测试应用程序 可执行 以便在我的 root Android 设备上运行 该可执行文件使用多个预构建的 C 库 其中之一使用 rand 在链接状态期间我收到错误 rand 的未定义引用 为了检查路径是否设置正确 我尝
  • 在android API 23中获取用户的位置

    我可以编写获取用户位置的代码 并且在 API 更多细节 我手动启用设备的 GPS 第一次运行应用程序请求权限并且没有日志返回 在下次运行应用程序时 返回我准备好的 Toast 检查您的提供商 这是我写的代码 public class Mai
  • Android 中的 FFMpeg jni?

    我已经构建了 Bambuser http bambuser com opensource 提供的 FFMPEG 可执行文件和库 所以我设法构建了 Android 可执行文件和库 如何在 Eclipse 项目中链接这些库并从 Java 调用
  • 评级栏更改星星颜色而不使用自定义图像

    有什么办法可以改变星星的颜色吗 我不想使用自定义图像来实现它 您可以将这些行添加到创建方法中 RatingBar ratingBar RatingBar findViewById R id ratingBar LayerDrawable s
  • Google Analytics 点击已发送,但在 Analytics 控制台上不可见

    我一直在尝试按照 Google 官方文档中的步骤在我的应用程序中实现 Google Analytics 完成编码部分后 我转到分析控制台以查看是否收到任何点击 我等了将近2天 但没有看到任何进展 然后我尝试在 logcat 中使用 GAv4
  • 如何在Android中使用资源

    一个人如何使用资产 我有这个代码 AssetManager assets getAssets InputStream stream assets open test txt 看起来它只能在 Activity 类中使 用 如果我尝试在另一个类
  • Android:UiTesting 时运行时错误

    我正在尝试运行 Ui 测试 每次运行应用程序时 它都会在控制台中出现以下错误并关闭正在运行的应用程序 我导入了 uiautomator jar android jar 和 JUnit4 库 我正在使用 Eclipse 我在这里缺少什么 20
  • 蓝牙权限在 jetpack compose 中无法正常工作

    我在用com google accompanist accompanist permissions 0 25 1在我的项目中 我正在尝试在运行时请求蓝牙权限 我想知道用户如何知道权限被永久禁用 清单 xml
  • 针对不同处理器架构的 Gradle android 构建

    我想使用 Gradle 为 4 个不同的 Android CPU 处理器架构 armeabi armeabi v7a x86 mips 构建 4 个单独的 apk 我有为 4 个 CPU 架构构建的本机 OpenCV 库libs folde
  • Android:非键盘输入法

    我正在尝试为 Android 创建一个不是传统键盘 对应于不同字母的按键行 的 IME 并且我无法找到有关如何执行此操作的有用资源 因为 SDK 中的所有代码示例都使用键盘 API它是内置函数 我在 XML 文件中设计了 IME 界面 就好
  • Unity 上适用于 Android 的 vuforia 插件和 prime31 facebook 插件之间的冲突

    如今客户需要它 这真的很紧急 T T 我在 Unity 上的 Android 应用程序中同时安装了 vuforia 插件和 prime31 facebook 插件 难点在于androidmanifest xml文件 它们都充当 MAIN 和
  • 如何更改区域设置以使用拉丁塞尔维亚语(而不是西里尔塞尔维亚语)

    塞尔维亚语有拉丁字母和西里尔字母 在 Android 的日期和时间选择器小部件中 显示的塞尔维亚语言区域字母似乎是西里尔字母 如此处所示 我想更改区域设置 以便 Android 小部件使用拉丁塞尔维亚字母 当前的语言 国家代码 产生西里尔字
  • 如何获取 res.drawable 文件夹的路径来复制文件?

    我正在编写我的应用程序AndroidStudio 我的里面有gif文件drawable gifs文件夹 我希望将该文件复制到MediaStore Images Media单击按钮后的文件夹 目前 即使使用发布的一些答案 我也无法获取我的 g

随机推荐