Ich habe ein Node.js Tutorial verfolgt. Ich hatte immer Zweifel, wie Daten an Callback-Funktionsparameter übergeben werden. Als BeispielCallback Funktionsparameter
User.addUser(newUser, (err, user) =>{
if(err){
res.json({success: false, msg:'Failed to register new user'});
} else {
res.json({success: true, msg:'User registered'});
}
});
und addUser Funktion als definiert
module.exports.addUser = function(newUser, callback){
bcrypt.genSalt(10, (err,salt)=>{
bcrypt.hash(newUser.password, salt, (err, hash) => {
if(err) throw err;
newUser.password = hash;
newUser.save(callback);
});
});
}
Ich verstehe nicht, wie irren und Benutzer weitergegeben werden. Kann jemand das erklären?
Sie werden nicht von hier übergeben. Sie werden innerhalb von 'newUser.save' übergeben. Sie geben den Callback nur an diese Funktion weiter, die sie vermutlich später aufrufen wird. – deceze
werfen Sie hier einen kurzen Blick [geben Sie einen Wert von Schließung zu Haupt-Methode] (http://StackOverflow.com/A/42766223/2359679), es ist für PHP, aber ich denke, dass es die gleiche Logik ist – hassan