Доброго времени суток, господа профессоры.
В ноде новичок, пытаюсь сделать синхронный цикл в ноде. Библиотека async.
После первой итерации висит. Пример:
res = [
'textFile/file_1.txt' # ООООЧень большой
'textFile/file_2.txt' # маленький
'textFile/file_3.txt' # ооочень маленький
]
funRead = (file, i) ->
fs.readFile file, 'utf8', (err, contents) ->
console.log i + ') i am read ->> ' + file
async.eachOfSeries res, ((item, i) ->
funRead(item, i)
), ->
console.log 'testCB'
результат: 0) i am read ->> textFile/file_1.txt
Колбек не выполняется.......
если использовать
async.eachOf
результат естественно вот такой:
1) i am read ->> textFile/file_2.txt
2) i am read ->> textFile/file_3.txt
0) i am read ->> textFile/file_1.txt
Колбек не выполняется.......
Смысл не в том что бы ноду застопить, а в том что бы не начинать новую итерацию, пока старая не закончит работать..... 3 день пошел безнадежных поисков решения....
Или вот такой вариант три функции, надо сделать последовательно:
async.series [
funRead1 = () ->
fs.readFile 'textFile/file_1.txt', 'utf8', (err, contents) ->
console.log '1) i am read ->> textFile/file_1.txt'
funRead2 = () ->
fs.readFile 'textFile/file_2.txt', 'utf8', (err, contents) ->
console.log '2) i am read ->> textFile/file_2.txt'
funRead3 = () ->
fs.readFile 'textFile/file_3.txt', 'utf8', (err, contents) ->
console.log '3) i am read ->> textFile/file_3.txt'
], () ->
console.log 'test CB'
Выдает: 1) i am read ->> textFile/file_1.txt
и закрывается.... не могу понять, ХЕЛП