knex.js中createTable(...)。createTable(...)和createTable(...)。then(...)之间有什么区别?

时间:2015-04-24 19:41:00

标签: javascript knex.js

我正在使用knex.js连接到MySQL数据库。我想创建几个表。到目前为止,我已经看过两种风格。其中一个链接使用createTable,如此,

    knex.schema.createTable('foo',function(table){...}).createTable('bar'...)

另一种风格使用then机制来做同样的事情。

    knex.schema.createTable('foo',function(table){...}).then(function() {
        knex.schema.createTable.createTable('bar'...)

它们在语义上是否相似?我可以假设他们做同样的事情吗? 一旦第一个子句完全完成,它们都会执行第二个子句吗?

1 个答案:

答案 0 :(得分:0)

我认为评论应该足够作为答案,但

then
在Javascript中

返回一个异步执行的promise,而另一个方法是同步执行的,你的javascript将不会到达下一行,直到执行该行。