Вам необходимо вернуть обещание, которое разрешается, когда вся асинхронная работа завершена. Прямо сейчас вы ничего не возвращаете, что означает, что функция завершится и закроется почти сразу, прежде чем ваш запрос будет выполнен.
Вам нужно будет обратить внимание на все обещания, которые использует ваш код, включая запрос и все пакетные коммиты. Вы не можете игнорировать любое обещание, возвращаемое любым API, иначе работа будет прекращена до того, как она будет выполнена.
Объектно-ориентированные базы данных являются оксюмороном. чем больше Вы пытаетесь сделать базу данных OO, тем больше Вы оказываетесь в реляционном мире так или иначе. по-моему, они - просто шумиха. Обратите внимание, что ORM's является базами данных NOT OO. Ни один не Наборы данных. Я услышал, что аргумент прежде, таким образом, я говорю это только, чтобы ясно дать понять вещи.
Я видел много дискуссий за эти годы о том, как OOD, как предполагается, настигает Реляционные базы данных "в ближайшее время"; то, что Реляционная модель является способом прошлого; та инерция от огромного установленного основания (ehm... наследие) - то, что сдерживает достижения по OOD. "Это - просто вопрос времени, прежде чем 'достаточно хорошая' реализация наконец выйдет и успешно выполнится при смещении RDBMSs".
Я не эксперт никаким фрагментом; но я много раз думал об этом, и я пришел к убеждению, что эти представления полностью упускают суть.
В большинстве сценариев "реального мира", большой вещи, единственной вещи, которая вопросы являются данными.
Методы программирования, инструменты и изменение языков; технология развивается. Корпоративные "Автоответчики" становятся гневом, затем почти исчезают позади тени "сети". Приложения приходят и уходят; некоторые из них хороший, некоторые не так; некоторые очень важные, некоторые просто удобные; несколько прошлых 3 месяца, несколько прошлых 3 десятилетия. Но в конце дня, информация, которая подает все эти приложения, является основой системы и должна пережить колебание вида. Данные остаются.
Так, ядро "Системы" должно развиться вокруг той одной цели: сохраните и защитите данные.
Подумайте об этом: Базы данных SQL в особенности дают нам автономный, (главным образом) стандартизированный репозиторий со старой десятилетиями доказанной записью и могут быть получены доступ в любое время с тем, что является, совсем не устаревшее, по существу Функциональный язык! Это - довольно хорошее место для доверия для самого ценного компонента.
Любой подход, который помещает приоритет в инструмент программирования, среду или приложение за счет сохранения данных в затененном хранилище - что-либо, что связывает технологию приложения слишком тесно с данными, вероятно, собирается упасть с обочины.
Чтобы не сказать, что я верю, все в мире должно войти в таблицу SQL. Подобные OOD решения имеют место также и большой потенциал. Но необходимо посмотреть в местах, где "приложение" является королем, и "данные" вторичны: игры, одноразовые приложения и инструменты, системы, которые содержат не-критические-данные или данные, которые не имеют никакой долговременной ценности мимо продолжительности жизни приложения.
В частности, я думаю, что системы, которые имеют ограниченный срок полезного использования (несколько лет самое большее) являются главными кандидатами на подобные OOD технологии. С другой стороны, при работе над чем-либо, что должно однажды "передать" данные его преемнику, я был бы очень подозрителен что-либо кроме старого доброго RDBMSs.
Для помещения его в звуковой байт он никогда не был о "приложении"; это всегда было о "данных".
Мы видим некоторые способы, которыми объектное моделирование входит в свет для управления нашими данными. У нас есть Linq и NHibernate, который позволяет нам отображать данные в базе данных к объектам в нашем коде.как бы то ни было. Я думаю, что мы - все еще длинный путь от наличия реальной объектно-ориентированной базы данных. Я не уверен, что мы когда-либо будем. В то время как работа с "объектами" имеет, это - преимущества, рассматривание данных как наборы с реляционной моделью данных имеет много преимуществ.
До сих пор OODBMSs, которые вышли, кажется, не имеют столь широкое принятие, как некоторые хотели их, и причина была проста: OODBMSs только обращаются к проблемам разработчиков ООП, но не всех остальных, которые включают DBAs, аналитиков, профессионалов MIS и огромное количество разработчиков, которые не объектно-ориентированы, но вместо этого "управляемы данными".
Однако огромный объем данных предприятия остается в RDBMSs, подобным образом что огромный объем данных предприятия также остается в системах COBOL/CICS-powered.
Что касается фактов, Вы можете Google в течение многих часов для поиска статистики, но Вы не найдете никого. Все, что Вы нашли бы, является Oracle по сравнению с SQL Server MS по сравнению со статистикой принятия RDBMSs с открытым исходным кодом MySQL/PostGre/other друг по сравнению с другом, и OODBMSs как db4o в основном проигнорированы.
В обработке бизнес-данных реляционная модель твердо укреплена и не может быть удалена. Это является центральным и часто высоко злоупотребляется для несоответствующих вещей. Люди будут использовать (злоупотребляют) реляционной базой данных как надежной очередью сообщений, потому что - хорошо - они рассматривают каждую проблему как проблему базы данных.
Реляционная модель является магистралью многих (почти всех) коммерческих продуктов для каждого бизнес-процесса. Трудно найти что-либо, что это не является существенно реляционным. Действительно, во многих случаях, продукты тесно выровненные базы данных. Финансовые документы Oracle, учет Динамики Microsoft, и т.д.
Для обозримого будущего реляционные хранилища данных будут основной памятью для обработки бизнес-данных.
В настоящее время реляционные базы данных обходятся без помощи высказывания. Все спрашивают, "какой механизм базы данных", таким образом, они могут высказать мнение о Oracle по сравнению с IBM по сравнению с Microsoft по сравнению с дебатами MySQL. Никто не спрашивает, "какова модель данных будет? Объект или Реляционный?"
ORM продолжит предпринимать шаги. Объектно-ориентированное программирование продолжит расти, ведя к все большему количеству ORM. Убегание из этого поля трудно - почти невозможный - потому что бизнес-IT фокусируется на устойчивости, не инновациях. Их цель почти всегда, "Сохраняют Световые сигналы На". Это означает отказываться от изменения, пока оно не вызывается на них поставщиком, обанкротившимся или заканчивающим поддержку продукта.
Нет единственное явное изменение появилось совсем недавно посредством появления облачных вычислений, где сторонники не обязательно хранят данные способом отношения.
Я всегда имел дело с наборами данных, слишком большими для серьезного рассмотрения классической "объектной" модели рендеринга данных как класс с элементами данных, содержащими всю информацию, и методы к доступу / управляют ими.
Я однако нашел простую модель компромисса с наборами данных.NET. Так как они "сам буферизуют" к диску, они являются великими для контакта с блоками данных, которые могут или не могут уместиться в памяти - таким образом, я использую их для своих "объектных наборов".
Затем все классы, которые включают "бизнес-" объекты для приложения просто, имеют ссылку на запись в наборе данных, который содержит их информацию, и все методы для класса просто анализируют от официального набора документов.
Работы для запросов, возвращая 1 результат миллиону - и модель класса очень легко копировать - с тех пор в основном весь класс, внутренние переменные данных являются просто полями на recordset.