Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Windows 8从文件夹读取文件,返回字符串_Javascript_Windows 8 - Fatal编程技术网

Javascript Windows 8从文件夹读取文件,返回字符串

Javascript Windows 8从文件夹读取文件,返回字符串,javascript,windows-8,Javascript,Windows 8,我只是想从Windows8应用程序的漫游文件夹中读取一个文件,然后返回一个字符串。log(text)正在打印正确的字符串,但我显然不是不理解承诺和延迟,就是弄乱了javascript。str未定义 var getJsonString = function () { var jsonText; roamingFolder.getFileAsync(fileName) .then(function (file) { return

我只是想从Windows8应用程序的漫游文件夹中读取一个文件,然后返回一个字符串。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的文章,但仍然感到困惑。有人有主意吗


编辑:实际上,有没有更好的方法在漫游文件夹中存储JSON字符串?现在我正在创建和使用一个文本文件。

您的代码是异步的。
done()


你需要回报一个承诺。

像这样的东西应该可以

var getJsonStringAsync = function() {
    return roamingFolder.getFileAsync("myData.json")
        .then(function(file) {
            return Windows.Storage.FileIO.readTextAsync(file);
        });
};

getJsonStringAsync().then(function(text) {
    console.log(text);
});
查看getJsonStringAsync函数现在如何返回.then()函数的结果?函数返回一个承诺。我已经重命名了您的函数,添加了异步后缀,因为它现在是一个异步函数,这是惯例

现在,无论何时使用该函数,都可以调用它并使用.then()(或.done())并指定一个函数,该函数的参数是promise提供给您的数据


希望这有帮助。您可以查看更多信息,我在codeSHOW应用程序(和)中提供的Promissions演示可能也会对您的概念有所帮助。

欢迎来到精彩的异步世界!你不能那样做,这是有道理的。如何将该字符串提取出来,转换为JSON对象,以便在程序中进行操作?我现在正在读有关promise objects的文章,非常感谢Jeremy!我用我需要的方式下载了你的应用程序,因为你显然是个好老师。