2016-02-23 6 views
0

Мне известно о this implementation для вызова локального текстового файла.Файл таблицы загрузки Javascript синхронно

Моя проблема в том, что я не хочу, чтобы он читал файл асинхронно. Вместо этого я хочу, чтобы функция читала файл и возвращает вывод в виде строковой переменной.

Мой файл в этом формате:

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. Было бы здорово, если бы кто-нибудь дал мне знать, есть ли ярлык для того, что я ищу. Если библиотеки нет, сообщите мне, как минимум я могу прочитать файл синхронно.

ответ

1

Вы можете использовать запрос получения для загрузки содержимого файла и анализа данных самостоятельно. Используя метод jQuery get (вы можете в основном заменить 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); 
} 
+0

Исправлена ​​синхронизация синхронизации и асинхронная синхронизация – ar2015

Смежные вопросы