mysql.js
文件中的代码
let query = function( sql, values ) {
return new Promise(( resolve, reject ) => {
pool.getConnection(function(err, connection) {
if (err) {
reject( err )
} else {
connection.query(sql, values, ( err, rows) => {
if ( err ) {
reject( err )
} else {
resolve( rows )
}
connection.release()
})
}
})
})
}
let optUser = function (value) {
let _sql = "sql command"
return query(_sql, value)
}
调用代码如下
let result = mysqlModel.optUser([s,d]).then()
这里的result
为null或不为null,我不明白,这是我的问题
如果我使用
select
命令,例如let _sql = "select * from table where key1=? and key2=?"
,如果result
为null,表示没有记录,如果result
不为null,会返回对应的用户数据,对吗?update
、delete
、insert
返回什么?
非常感谢。
最佳答案
- 是的,如果查询未返回任何内容,您将得到
null
,如果返回,它将提供data
- 对于更新、删除、插入,您将获得
json
,其中包含某些键,例如changedRows
、affectedRows
。 “插入”查询将为您提供该行的 insertId。基本上,您会收到操作已成功执行的确认信息。
connection.query(sql, values, ( err, results, fields) => {
如果(错误){
拒绝(错误)
} 别的 {
解决(行)
}
连接.release()
})
关于mysql - 无法理解 koa 和 nodejs 中 promise 的返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50746461/