Pour la pile MEAN, j'apprends la fonction save () de Mongoose, qui prend un rappel. Son états de l'API :
Model#save([options], [fn])
Saves this document.
Parameters:
[options] <Object> options set `options.safe` to override [schema's safe option](http://mongoosejs.com//docs/guide.html#safe)
[fn] <Function> optional callback
Comment savoir quels arguments se trouvent dans le rappel facultatif? L'API donne simplement un exemple:
product.sold = Date.now();
product.save(function (err, product, numAffected) {
if (err) ..
})
The callback will receive three parameters
err if an error occurred
product which is the saved product
numAffected will be 1 when the document was successfully persisted to MongoDB, otherwise 0.
Ce que je pense que l'API devrait dire à propos du rappel facultatif est le suivant:
[fn] <Function> optional callback with this structure:
function(err, theDocumentToBeSaved, [isSaveSuccessful])
et il peut être utilisé comme suit. Notez que le deuxième argument, le document, doit être le même document qui appelle la sauvegarde. (Faites-moi savoir si ce n'est pas le cas.)
documentFoo.save(function(err, documentFoo, [isSaveSuccessful]){
if(err){ return next(err); }
if (isSaveSuccessful === 1){
// documentFoo has been saved correctly
// do stuff with the saved documentFoo
}
}
Si mon interprétation est correcte, est-ce ainsi que les paramètres de rappel de sauvegarde doivent toujours être structurés?
Le rappel de la fonction save
acceptera trois arguments:
Les arguments sont listés ici
Notez que le deuxième argument, le document, doit être le même document qui appelle la sauvegarde
Vous pouvez nommer les arguments comme vous le souhaitez, vous ne les transformez pas en un objet ou quelque chose comme ça. C'est simplement un nom que vous souhaitez utiliser pour vous y référer dans le corps de votre fonction.