一本书上的实例代码,这个redis是封装了redis接口的类,get就是redis的get。
问题是第8行的redis.get(mailKey).then的回调函数参数怎么会赋值等于空数组呢?这样get不就没意义了吗?
redis.get(userKey1).then((mail) => {//保证两个用户之间只可能出现一次对话
if (!mail) mail = []
let has = false
for (let i = 0; i < mail.length; i++) {
if (mail[i].users.indexOf(req.params.username) > -1) {
has = true //对话已经存在,直接写
mailKey = mailKey + mail[i].m_id
redis.get(mailKey).then((mailData = []) => {//问题在这里
mailData.push({text: req.body.text, time: Date.now(), read: []})
redis.set(mailKey, mailData)
res.json(util.getReturnData(0, '发送私信成功'))
next()
})
}
}
这是es6的函数的参数的默认值用法,可以看看阮一峰的es6教程:https://es6.ruanyifeng.com/#d...