Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

I have a helper function where I create a new user.

The helper function looks like this

const createNewUser = (newUserDetails) => {
    return new Promise((resolve, reject) => {
      new User({
         fullName: newUserDetails.fullName,
         email: newUserDetails.email,
         image: newUserDetails.image,
         gender: newUserDetails.gender,
         age: newUserDetails.age
      }).save().then((response) => {
          resolve(response)
      }).catch((error) => {
          reject("Problem in Creating New User", error)
      })
    })
}

Now, For some reason, this code here looks very untidy to me

     fullName: newUserDetails.fullName,
     email: newUserDetails.email,
     image: newUserDetails.image,
     gender: newUserDetails.gender,

I was thinking if there is a way to destructure it? or if someone can help in shortening this code

Probably something like this

const createNewUser = (newUserDetails) => {
    return new Promise((resolve, reject) => {
      new User({newUserDetails
     }).save().then((response) => {
          resolve(response)
      }).catch((error) => {
          reject("Problem in Creating New User", error)
      })
    })
}

Not sure, if the above code will work or not, but I notice above I have reduced it to a single line

new User({newUserDetails

Can someone help me to restructure and reduce the length of the first function?

This is my mongoose schema

const mongoose = require('mongoose')

const userSchema = new mongoose.Schema({
    fullName: String,
    email: String,
    passowrd: String, 
    image: String, 
    age: Number, 
    gender: String,
    createdAt: {type: Date, default: Date.now}
}) 


module.exports = mongoose.model('User', userSchema);
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
244 views
Welcome To Ask or Share your Answers For Others

1 Answer

Does this look better for you?

const createNewUser = (newUserDetails) => {
  return new Promise((resolve, reject) => {
    let {fullName, email, image, gender, age} = newUserDetails
    new User({ fullName, email, image, gender, age})
      .save().then((response) => {
        resolve(response)
      }).catch((error) => {
        reject("Problem in Creating New User", error)
      })
  })
}

You may alternatively use the object destructuring in the function parameter. I.e:

const createNewUser = ({fullName, email, image, gender, age}) => { ...

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...