这是我的计划流程:
我可以创建一个学习会话,在此会话中,用户可以流式传输视频,和/或下载附件,和/或以多种选择格式回答问题。
因此,在一个会话中,它可以包含视频和/或文件和/或问题。
在创建会话的过程中,我必须完成视频和/或文件的所有上传任务,并完成所有数据库任务,保存该会话的问题,然后我保存会话数据库。在这种情况下,我使用类似Tasks.whenAll(listTask)
的内容,我将onCompleteListener
添加到最终任务中,最后我将会话保存到数据库。
几乎所有内容都按预期运行,问题已保存,视频已上传,但上传视频时返回的UploadTask
存在问题。在我的Session
课程中,我有videoUrl
字段,其中包含视频的网址。为了获取视频的网址,我必须将onCompleteListener
添加到我的UploadTask
,从任务的结果中获取网址并将网址保存在我的类实例中。但是,视频网址永远不会保存到数据库中,因为最终任务的onCompleteListener
首先被调用。
我的问题是,当listTask中的所有任务完成后,如何执行Tasks.whenAll(listTask),同时还完成了onCompleteListener?