将webdriverio与jasmine框架一起使用。需要连接到数据库,我使用node-mssql来做到这一点。
var sql = require('mssql');
sql.connect("mssql://username:password@localhost/database").then(function() {
new sql.Request().query('select * from mytable').then(function(recordset) {
console.dir(recordset);
}).catch(function(err) {
// ... query error checks
});
});
上面的代码给出了错误:" UnhandledPromiseRejectionWarning:未处理的承诺拒绝(拒绝ID:1):ConnectionError:无法连接到undefined:1433 - connect ECONNREFUSED 127.0.0.1:1433 (node:24585)弃用警告:不推荐使用未处理的拒绝承诺。将来,未处理的承诺拒绝将使用非零退出代码终止Node.js进程。"
我尝试没有承诺,因为webdriverio中的代码是异步的,承诺可能无法正常工作:
var connection = sql.connect(config); //config has all the parameters
var request = new sql.Request();
request.query('select * from myTable');
错误是:"查询未定义"
我做错了什么?
答案 0 :(得分:0)
您使用的是npm请求包还是npm请求承诺包?我使用promise版本遇到了类似的问题。您使用的是什么版本的节点?最新的稳定版本支持可用于处理异步代码的本机JavaScript Promises。我将在早上使用本机承诺实现和请求包的一些示例代码更新此答案。同样取决于您的异步代码块的位置将有助于确定答案..是在茉莉花'它'块中还是在conf文件中或其他地方?