Первый день при программировании в узле сегодня. Я хорошо ласкаю весь день, но у меня что-то странное. Возможно, я не понимаю асинхронизацию узла или что-то в этом роде.Порядок выполнения кода Node.js
У меня есть функция, которая выполняет команды оболочки:
function puts(error, stdout, stderr) { sys.puts(stdout); }
Затем я выполнить некоторые команды:
exec("foo", puts);
myarr.keys("mykey", function (err, replies) {
replies.forEach(function (reply, i) {
exec("bar");
});
});
exec("fuzz", puts);
exec("buzz", puts);
поэтому две последние вещи, которые предназначены для исполнения являются fuzz
и затем buzz
. Однако кажется, что fuzz
и buzz
происходят в некоторой случайной точке цикла, а bar
- это то, что печатается последним (иногда). myarr
- массив, который я создаю, подключившись к базе данных Redis
.
Должен ли я вынуждать Node
делать петлю синхронно или что-то в этом роде? Я использую Redis
клиентов в коде .. могут ли это вызвать проблемы? Есть идеи? Большое спасибо :).
Спасибо - хорошо поймали :). – ale
Просто был там много раз перед собой :) Счастливый взлом узла. – MattJ