mssql nodejs:在承诺链中使用连接池

时间:2018-12-20 20:36:16

标签: sql node.js es6-promise

我正在使用用于js的mssql库来查询我的Microsoft SQL数据库。它首先检查数据库中是否存在行,如果存在,则更新该行的值,如果不存在,则创建新行。这是我的设置方法。在执行时,它抱怨在第35和38行上不存在变量池。

如何使用我从第一个then语句中获得的pool变量,在第三个then语句中。

enter image description here

1 个答案:

答案 0 :(得分:2)

问题在于,您的后三个便需要放在后一个之内。这样,池就在其范围内。

模式是:

sql.connect(config).then(pool => { 
  pool.request.query().then().then().then();
})

您可以不使用“如果不存在则插入”吗?这将是原子和种族的。参见SQL Server Insert if not exist 如果使用此方法,则只需处理该行已存在的情况