Windows 8 Win 8应用程序:在roamingfolder中保存和检索数据
我试图在一个使用JavaScript的应用程序中,将一些用户数据存储到Windows存储的roamingFolder方法/属性中。我正在跟踪开发中心的一个示例代码,但没有成功。我的代码片段如下:(或完整项目的SkyDrive链接:)Windows 8 Win 8应用程序:在roamingfolder中保存和检索数据,windows-8,windows-runtime,winjs,Windows 8,Windows Runtime,Winjs,我试图在一个使用JavaScript的应用程序中,将一些用户数据存储到Windows存储的roamingFolder方法/属性中。我正在跟踪开发中心的一个示例代码,但没有成功。我的代码片段如下:(或完整项目的SkyDrive链接:) filereadcounter:function(){ roamingFolder.getFileAsync(文件名) .then(函数(文件名){ 返回Windows.Storage.FileIO.readTextAsync(文件名); }).完成(功能(数据){
filereadcounter:function(){
roamingFolder.getFileAsync(文件名)
.then(函数(文件名){
返回Windows.Storage.FileIO.readTextAsync(文件名);
}).完成(功能(数据){
var dataToRead=JSON.parse(数据);
var dataNumber=dataToRead.count;
var message=“您保存的转换”;
//对于(变量i=0;i
我在navigator模板的item.js文件的ready方法中调用fileDisplayOutput函数,以检索上一个会话的数据。但它总是显示空白。我想保存最多5个用户可能需要保存的数据 我在按原样运行您的代码时遇到了一些问题,但这与问题无关。总之,您并不是在实际读取文件。注意此代码,当承诺履行时,没有
然后
或完成
可执行
返回Windows.Storage.FileIO.readTextAsync(文件名)
我在你的示例解决方案中破解了这个,它正在工作。。。典型的注意事项不是生产代码:)
filereadcounter:函数(){
roamingFolder.getFileAsync(文件名)。然后(
函数(文件名){
Windows.Storage.FileIO.readTextAsync(文件名).done(
功能(数据){
var dataToRead=JSON.parse(数据);
var dataNumber=dataToRead.count;
var message=“您保存的转换”;
//对于(变量i=0;i
但是嵌套承诺的返回值不应该传递给父承诺的下一个延续吗?当您这样编写时,内部函数不会返回承诺,使得外部函数无法等待任务完成(假设在某个时候可能需要这样做)。
filesReadCounter: function() {
roamingFolder.getFileAsync(filename)
.then(function (filename) {
return Windows.Storage.FileIO.readTextAsync(filename);
}).done(function (data) {
var dataToRead = JSON.parse(data);
var dataNumber = dataToRead.count;
var message = "Your Saved Conversions";
//for (var i = 0; i < dataNumber; i++) {
message += dataToRead.result;
document.getElementById("savedOutput1").innerText = message;
//}
//counter = parseInt(text);
//document.getElementById("savedOutput2").innerText = dataToRead.counter;
}, function () {
// getFileAsync or readTextAsync failed.
//document.getElementById("savedOutput2").innerText = "Counter: <not found>";
});
},
filesDisplayOutput: function () {
this.filesReadCounter();
}
filesReadCounter: function () {
roamingFolder.getFileAsync(filename).then(
function (filename) {
Windows.Storage.FileIO.readTextAsync(filename).done(
function (data) {
var dataToRead = JSON.parse(data);
var dataNumber = dataToRead.count;
var message = "Your Saved Conversions";
//for (var i = 0; i < dataNumber; i++) {
message += dataToRead.result;
document.getElementById("savedOutput1").innerText = message;
//}
//counter = parseInt(text);
//document.getElementById("savedOutput2").innerText = dataToRead.counter;
}, function () {
// readTextAsync failed.
//document.getElementById("savedOutput2").innerText = "Counter: <not found>";
});
},
function () {
// getFileAsync failed
})
},