gpt4 book ai didi

Dart:处理无法访问文件系统的浏览器

转载 作者:行者123 更新时间:2023-12-03 03:43:05 24 4
gpt4 key购买 nike

我的目标是尝试访问 chrome 上的浏览​​器沙盒文件系统,如果用户正在使用另一个浏览器来回退到其他代码。我尝试了以下方法:

print("Attempt to access filesystem");
window.requestFileSystem(1024 * 1024, persistent: false)
..then((FileSystem) => print("successfully accessed FileSystem"),onError:(e)
{
print("failed to access FileSystem");
});

在 Firefox 和 chrome 中测试这个我的问题是在 Firefox 中似乎没有到达错误处理程序(唯一打印的是“尝试访问文件系统”)。我想知道问题是否在于 Firefox 不处理 .then() 语法。如果是这种情况,有人可以建议我如何检查浏览器是否支持 Futures。一般来说,任何人都可以建议我如何实现这一目标?

最佳答案

使用 async 更容易处理错误/await

import 'dart:html';
main() async {
try {
print("Attempt to access filesystem");
var fileSystem = await window.requestFileSystem(1024 * 1024, persistent: false);
print("successfully accessed FileSystem");
} catch(e) {
print(e);
print("failed to access FileSystem");
}
}

DartPad example

使用您的代码 try/ catch也可以工作(除了 onError 因为同步代码中发生错误(方法 window.requestFileSystem 不存在(在 Safari 中)

DartPad example

关于Dart:处理无法访问文件系统的浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46214177/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com