【发布时间】:2012-05-21 16:22:24
【问题描述】:
我正在尝试访问一个可能不存在的文件:
var localFolder = Windows.Storage.ApplicationData.current.localFolder;
localFolder.getFileAsync(stateFile).then(function (file) {
Windows.Storage.FileIO.readTextAsync(file).then(function (text) {
// do something with the text
});
}, function (err) {
// log error, load dummy data
});
如果文件不存在,“失败”方法会被调用,但它仅在我的应用程序停止后发生,异常“找不到文件”。只有当我为调试器按“继续”时,它才会继续“失败”方法..
我做错了什么?我应该事先检查是否存在?
【问题讨论】:
-
那为什么会有fail方法呢?我在这里有点迷路了.. :)
-
算了,我以为你在说 jQuery 的承诺。对不起。
-
我很确定 WinJS Promise == jQuery 在行为方面的承诺..
-
如果行为与 jQuery 相同,
fail仅检查相关承诺的状态(拒绝或解决),而不处理内部异常/错误 -
您的调试器可能设置为在第一次出现异常时停止。这意味着它将在处理异常之前闯入调试器。
标签: javascript windows-runtime promise winjs