так - мы интенсивно используем sqlite3, и обычно я выбираю all , но у нас есть ситуация, когда у нас большой набор данных (десятки миллионов строк), и я хотел обработать его построчно грести ... и столкнулся с чем-то вроде непреодолимой проблемы.
если я сделаю
console.log("before");
database.each( "select * from blah",
(error, row) => {console.log("during");output.write(row.something);} );
console.log("after");
Я вижу слова "до", "после", "во время". Теперь проблема с этим - мне нужно закрыть поток - после вышла последняя запись. Кажется, нет никакого способа определить эту точку или получить обратный вызов, когда это произойдет.
Я что-то упустил? Почти каждый раз, когда кто-то перебирает то, что в основном является курсором, ему нужен способ узнать, когда он закончил - и, насколько я могу судить, - это просто невозможно в текущей реализации javascript, которая делает . каждый по существу непригоден для использования.
Пожалуйста, скажите мне, что я не прав?