@OVK2015

Request и async в Node.JS. Что я упустил?

Пытаюсь получить размеры видеоклипов с youtube:

var async = require('async')
var request = require('request');

var moveInfoLink = "http://www.youtube.com/get_video_info?video_id=",
	moveLinkSufix = "&asv=3&el=detailpage&hl=en_US",
	movieWrapperLink = "*********";

var answer = '';
var formatList = new Array();
var movieLinks = new Array();

function getYouTubeAnswer()
{
	return new Promise(function(resolve)
	{
		........
	});
}

function parseYouTubeData()
{	
...............
}

var getFileSize = function(item, callback)
{	
	if(item['resolution'].match(/x720|x360/))
	{
		request
		(	
			{
				method: 'HEAD',
				url: item['url']
			},
			function(err, resp, body)
			{				
				console.log(resp.headers['content-length']);
				callback(false, resp.headers['content-length']);
			}
		);				
	}	
}

console.log(`Запускаемся`);
getYouTubeAnswer().then(function()
{	
	parseYouTubeData();	
	console.log(`Получаем размеры файлов`);
	async.each
	(
		movieLinks,		
		getFileSize,
		function(err, result)  
		{			// Вот сюда управление почему-то не попадает
			if(err)			
			{
				console.log('Какая-то ошибка');		
				console.log(err);		
			}
			else
			{
				console.log('Закончили работу');	
				console.log(result);				
			}			
		}
	);	
});


Задумка следующая:
1. Получаю данные о конкретном клипе.
2. Получаю все доступные для закачки его варианты.
3. Получаю размеры файлов для интересующих вариантов.

Все интересующие данные получаю корректно. Но, никак не могу понять, почему код в последней ф-ции внутри async не выполняется. Т.е., управление в эту ф-цию вообще не передается.
Что я упустил?
В итоге хотелось бы дождаться выполнения всех запрос, получающих размеры отдельных вариантов клипа, и потом сформировать общий отчет.
  • Вопрос задан
  • 818 просмотров
Решения вопроса 1
Вы правильно читали документацию async?
each(arr, iteratee, [callback])

getFileSize - итератор? он возвращает callback по выполнению?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
w4r_dr1v3r
@w4r_dr1v3r
начинающий
Задумка следующая:
1. Получаю данные о конкретном клипе.
2. Получаю все доступные для закачки его варианты.
3. Получаю размеры файлов для интересующих вариантов.


Эмм...это SaveFrom #2 или я чего-то не улавливаю?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы