I am trying to bcrypt password for every user in an array.
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
But I am getting results = [undefined,undefined].
How can I return array element from bcrypt.genSalt(10).then
Please help as I am new to ES6
EDIT: My user users array is like this:
[{ "username": "admin", "admin": true} ]
undefined- you need to return something in(item) => { /* here */}return bcrypt.genSalt(10)- that way you're returning something.map(item => bcrypt.genSalt(10).then(salt => item)).