java - 如何让我的程序等到任务完成后再继续?
问题描述
我需要 Firebase 上图像的 Url/Uri,然后在下一行使用。它看起来像这样:
Uri uri = storageReference.getDownloadUrl().getResult();
this.doAThing(uri);
问题是我收到一条错误消息,提示“任务尚未完成”。我如何让它等到任务完成/有没有更好的方法来获取 Uri?
解决方案
我在我的项目中需要一些类似的概念。我不得不使用内置的 firebase 监听器来获取 URL。
我使用了getDownloadUrl().addOnSuccessListener(),它返回了一个 URI
这是我的代码片段的一部分:
filepath.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
@Override
public void onSuccess(Uri uri) {
Log.d("=== link ",uri.toString());
// Your code
}
});
文件路径 - 它是一个引用该文件的 StorageReference 对象。
希望这可以帮助。
推荐阅读
- node.js - npm npm run watch-poll 宅基地错误
- glsl - 计算着色器和工作组
- amazon-web-services - 如何使用 lambda 和 SQS 实现优先级队列架构?
- excel-formula - 有没有办法从连接结果中删除空换行符?
- spring - Websphere - Spring 集成 SSL 问题
- python - 没有烧瓶 sqlalchemy 或 ORM 的烧瓶登录
- markdown - 使用 pandoc-citeproc 输出参考书目而不引用任何内容
- angular - Angular 7 - 服务和订阅
- reactjs - ReactTable中列的自定义排序方法
- c - 打印句子中每个单词的首字母