Ich habe einen Codeblock, der wenn sonst und der meiste Code in if und anderen gleich ist, aber aufgrund eines Funktionsaufrufs mit Rückruf, muss ich ziemlich einen gleichen Code in sowohl wenn als auch sonst blockieren. Ich weiß, dass eine Funktion für diesen Zweck erstellt werden kann, aber ich muss zu viele Parameter übergeben. Hier ist der Code-Block:Wie doppelte Codeblöcke in node.js zu vermeiden
if (results[0].register_type == 'D') {
sessionData.register_type = results[0].register_type;
UserModel.updategcm_id(req.body, function (err, result) {
UserSessionModel.createSessionToken(sessionData, function (err, result, token) {
if (err) {
res.status(400).send(self.createResponse({}, {
success: false,
message: err.message
}));
return false;
}
res.status(200).send(self.createResponse({
token: token,
userid: results[0].id
}, {
success: true,
message: "User has logged in successfully"
}));
console.log("User has logged in successfully...\n");
});
});
} else {
UserSessionModel.createSessionToken(sessionData, function (err, result, token) {
if (err) {
res.status(400).send(self.createResponse({}, {
success: false,
message: err.message
}));
return false;
}
res.status(200).send(self.createResponse({
token: token,
userid: results[0].id
}, {
success: true,
message: "User has logged in successfully"
}));
console.log("User has logged in successfully...\n");
});
}
Verwenden Sie eine Funktion mit einem Parameter. – Bergi
Warum erstellen Sie nicht einfach eine Funktion und übergeben Sie Fehler, Ergebnisse und Token dazu? – Seonixx
@Seonixx: Eigentlich schafft er schon genau diese Funktion. (zweimal). – Bergi