Я пытаюсь запустить асинхронный цикл async.each по массиву объектов.
На каждом объекте в массиве я пытаюсь выполнить две функции последовательно (используя promises). Проблема в том, что async.each работает только для первого ключевого слова.
В следующем коде getKeywords загружает некоторые ключевые слова из файла, а затем возвращает массив объектов ключевого слова. Каждый объект ключевого слова помещается в searchKeyword, который выполняет поиск. Результат поиска затем помещается в базу данных с помощью InsertSearchResults.
На мой взгляд, каждое ключевое слово должно обрабатываться параллельно, а функции поиска и вставки связаны.
getKeywords(keys).then(function(keywords) {
    async.each(keywords, function(keywordObject, callback) {
        searchKeyword(keywordObject).then(function(searchResults) {
            return insertSearchResults(searchResults, db, collections);
        }).then(function(result) {
            console.log("here");
            callback();
        })
    })
})
