【发布时间】:2017-11-03 14:03:34
【问题描述】:
我正在尝试为数组中的每个用户加密密码。
router.post("/insertuser", (req, res) => {
var promises = users.map((item) => {
bcrypt.genSalt(10)
.then((salt) => {
return item
})
})
Promise.all(promises)
.then((results) => {
console.log(results)
res.json({
"data": results
})
})
})//end route
但我得到的结果 = [undefined,undefined]。
如何从 bcrypt.genSalt(10).then
返回数组元素请帮忙,因为我是 ES6 新手
编辑:我的用户用户数组是这样的:
[{“用户名”:“管理员”,“管理员”:真} ]
【问题讨论】:
-
您的地图回调不返回任何内容,因此,promise 将是
undefined的数组 - 您需要在(item) => { /* here */}中返回一些内容 -
我该如何纠正。我是新来的。请帮忙。
-
...也许
return bcrypt.genSalt(10)- 这样你就返回一些东西 -
但我想更新 .map 中的 user.password 字段
-
或者只是不使用块。只需使用…
.map(item => bcrypt.genSalt(10).then(salt => item))。