我知道this implementation用于调用本地文本文件。
我的问题是,我不希望它异步读取文件。相反,我希望函数读取文件并将输出作为字符串变量返回。
我的文件采用以下格式:
time acceleration velocity position
0 0 0 0
0.1 0.7584280404 0.075842804 0.0075842804
0.2 0.1291023633 0.0887530404 0.0164595844
0.3 0.4040327317 0.1291563135 0.0293752158
0.4 0.8891570587 0.2180720194 0.0511824177
0.5 0.3481323377 0.2528852532 0.0764709431
0.6 0.8920292137 0.3420881745 0.1106797605
0.7 0.7375283292 0.4158410075 0.1522638613
0.8 0.2647998196 0.4423209894 0.1964959602
0.9 0.633358462 0.5056568356 0.2470616438
1 0.3901214569 0.5446689813 0.3015285419
1.1 0.4712272086 0.5917917022 0.3607077121
1.2 0.693854515 0.6611771537 0.4268254275
1.3 0.4248616176 0.7036633154 0.497191759
输出将存储在obj
中,其中包含以下字段
obj.time
obj.acceleration
obj.velocity
obj.position
必须从文本文件的第一行获取这些字段。一切都是从localhost完成的,没有什么是远程的,所以我不关心加载繁重的js
库需要多长时间。如果有人告诉我是否有我正在寻找的捷径,那将是很棒的。如果没有库,请告诉我至少我可以同步读取文件。
答案 0 :(得分:1)
您可以使用get请求下载文件内容并自行解析数据。使用jQuery get方法(基本上可以用任何其他lib替换jQuery或忘记任何额外的库并手动生成xhr请求):
$.ajax({
url: 'http://domain.com/path/to/your/file.txt',
async: true
}).
success(function (data) {
var parsedData = parseMyFormat(data);
console.log(parsedData[0].position);
});
function parseMyFormat (data) {
var parsed = [];
//split your data by new line and iterate over lines
var item = {};
//split each line by tab (\t) and put
item.time = col[0];
item.acceleration = col[1];
item.velocity = col[2];
item.position = col[3];
parsed.push(item);
}