Что означает асинхронный ORM - PullRequest
3 голосов
/ 23 декабря 2009

Что в действительности означает асинхронный ORM? Чем он отличается от обычного ORM?

Где это можно использовать?

1 Ответ

4 голосов
/ 23 декабря 2009

Это означает, что вызовы на него возвращаются сразу (не блокируется). Вы получите результат в более поздний момент времени, скорее всего, из-за срабатывания обратного вызова.

Примерно так (псевдокод):

function printResult(result)
    if result is "foo" print "FOO" else print "BAR"

function fooBar()
    Orm.myQuery().setCallback(printResult)
    Orm.myOtherQuery().setCallback(printResult)

В этом примере оба запроса будут выполняться одновременно (и ответ на второй запрос может предшествовать первому).

Это полезно в программе, которая использует неблокирующий ввод-вывод. Выполнение запросов одновременно, возможно, в нескольких базах данных, является большой задержкой. Если каждый запрос занимает 1 мс, выполнение 10 запросов все равно занимает всего 1 мс вместо 10 мс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...