-
Notifications
You must be signed in to change notification settings - Fork 39
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add russian translation for map exercise.
- Loading branch information
Showing
1 changed file
with
45 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
С `async.each`, результаты асинхронной функции будут **потеряны**. | ||
|
||
На помощь приходит `async.map`. Он делает то же самое, что и `async.each`, | ||
путем вызова асинхронной функции итератора на массив, но **собирает результаты** | ||
асинхронной функции итератора и передает результат в функцию обратного вызова. | ||
|
||
Результаты представлены в виде массива, которые находятся **в том же порядке**, | ||
что и в исходном массиве. | ||
|
||
Пример в EACH-задаче можно записать в виде: | ||
|
||
```js | ||
var http = require('http') | ||
, async = require('async'); | ||
async.map(['cat', 'meerkat', 'penguin'], function(item, done){ | ||
var opts = { | ||
hostname: 'http://httpbin.org', | ||
path: '/post', | ||
method: 'POST' | ||
}; | ||
var body = ''; | ||
var req = http.request(opts, function(res){ | ||
res.on('data', function(chunk){ | ||
body += chunk.toString(); | ||
}); | ||
res.on('end', function(){ | ||
return done(null, body); | ||
}); | ||
}); | ||
req.write(item); | ||
req.end(); | ||
}, | ||
function(err, results){ | ||
if (err) return console.log(err); | ||
// Результаты - это массив тел ответов в том же порядке. | ||
}); | ||
``` | ||
|
||
## Задача | ||
|
||
Напишите программу, которая будет принимать два аргумента командной строки для двух URL. | ||
|
||
Используйте `http.get`, чтобы создать два GET-запроса по этим URL. | ||
|
||
Вам нужно будет использовать `async.map`, затем используйте `console.log` для результата. |