Windows 8アプリのローミングフォルダーからファイルを読み取って、文字列を返そうとしているだけです。console.log(text)は正しい文字列を出力していますが、私は明らかに約束と遅延を理解していないか、JavaScriptを台無しにしています。strは未定義です。
var getJsonString = function () {
var jsonText;
roamingFolder.getFileAsync(fileName)
.then(function (file) {
return Windows.Storage.FileIO.readTextAsync(file);
}).done(function (text) {
//Printing Correct String
console.log(text);
jsonText = text;
});
return jsonText;
}
var str = getJsonString();
console.log(str);
MSDNの記事http://msdn.microsoft.com/en-us/library/windows/apps/hh465123を見ましたが、それでも混乱しています。誰かアイデアがありますか?
編集:実際には、ローミングフォルダーにJSON文字列を保存するためのより良い方法はありますか?現在、テキストファイルを作成して使用しています。