Ответ 1
Вы получите ответ, которого не ожидаете, потому что async
запускает function: 1
первым, и он не освобождает управление обратно в цикле событий. У вас нет функций асинхронизации в function: 1
.
Node.js - однопоточный асинхронный сервер. Если вы блокируете цикл событий с длительной работой ЦП, тогда никакие другие функции не могут быть вызваны до завершения вашей долгой задачи ЦП.
Вместо большого цикла for попробуйте сделать http-запросы. Например...
async = require('async')
request = require('request')
async.parallel([
function(callback){
request("http://google.jp", function(err, response, body) {
if(err) { console.log(err); callback(true); return; }
console.log("function: 1")
callback(false);
});
},
function(callback){
request("http://google.com", function(err, response, body) {
if(err) { console.log(err); callback(true); return; }
console.log("function: 2")
callback(false);
});
}
]);