2014-01-03 2 views
0

Я использую скрипт node.js для переноса некоторых данных из экземпляра MySQL в MongoDB. Я в ситуации, когда я хотел бы перебирать каждую запись в хэш-таблице, а затем вызывать функцию после того, как все элементы обработаны.Итерации через хэш-таблицу?

В прошлом я делал это с помощью массивов с использованием async.js, который отлично поработал, но, к сожалению, это не работает с хеш-таблицами.

Как я могу перебирать каждую запись в хэш-таблице и вызывать определенную функцию при обработке последней записи?

+0

Так что я немного запутался здесь. В JS каждый объект _is_ hashtable. Есть ли что-то, что вы специально делаете, это мешает вам просто делать цикл 'for'? –

+1

Можно ли узнать, когда все элементы закончили обработку с использованием стандарта для цикла? –

+0

Итак, ваша задача состоит в том, что вы выполняете асинхронную обработку для каждой записи в хэш-таблице, и вы хотите знать, когда все будет сделано. Ясно, что ответ ниже правильный. –

ответ

3

Это должно работать:

var async = require('async'); 

async.each(Object.keys(hash), function(key, callbackAfterEach) { 
    // Do your thing here with hash[key] 
    callbackAfterEach(); 
}, callbackAfterAll); 
Смежные вопросы