Я бы назвал несколько раз одним и тем же API, но с разными ключами, чтобы быстрее получать результаты.Одновременные вызовы API с независимыми обратными вызовами
Дело в том, мне нужно не ждать, чтобы получить результат от первого звонка, чтобы начать второй вызов, и т.д ...
следующие шаги:
1) У меня есть массив со всеми разные клавиши.
2) Это получает данные от API («APIKeys» является массив, который содержит все ключи):
_.map(APIKeys,function(value, index){
var newCount = count+(25*index);
parseResult(Meteor.http.get("http://my.api.com/content/search/scidir?query=a&count=25&start="+newCount+"&apiKey="+value+""));
});
3) вызвать функцию (названный «ParseResult»), который будет форматировать и фильтр результат я получаю от API и сохраняю его в базе данных.
Я хочу вызвать функцию (шаг 3), не ожидая, что я получу данные из API и продолжу с другими ключами во время выполнения запроса.
Знаете ли вы, как я мог сделать это с помощью метеор?
Благодаря
Я уже пробовал это, но проблема, я хотите одновременно запускать все запросы и запускать их до тех пор, пока они не получат данные и не сохранят их в базе данных. Я нашел решение, использующее Fiber and Future, похоже, работает, но я еще не уверен. – Leon
Я не понимаю, почему то, что я написал, не является хорошим решением, но нормально, если вы нашли способ сделать это уже –
Вы правы, но это не совсем то, что я ищу. Мне нужно делать то, что вы написали, но 1000x одновременно. Поэтому я должен найти решение не ждать, пока первый вызов API завершится, чтобы запустить второй вызов и т. Д., А поскольку API медленный, я должен ждать данные перед его хранением в базе данных. Это довольно сложно объяснить, но в целом мне просто нужно управлять циклом событий с помощью Future and Fiber, теперь он работает как шарм :) – Leon