异步ORM意味着什么

时间:2009-12-23 11:21:40

标签: orm asynchronous

异步ORM究竟意味着什么?它与常规ORM的行为有何不同?

哪里可以使用?

1 个答案:

答案 0 :(得分:4)

这意味着对它的调用会立即返回(不会阻止)。您可以在稍后的某个时间点获得结果,很可能是由于回调触发。

像这样的东西(伪代码):

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

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

在此示例中,两个查询将同时执行(第二个查询的响应可能在第一个查询之前)。

在使用非阻塞IO的程序中很有用。让查询同时执行,也许在多个数据库上执行,是非常明显的延迟。 如果每个查询花费1毫秒,则执行10个查询仍然只需要1毫秒,而不是10毫秒。