に送られた後、ヘッダーを設定することはできません私はこのヘルパー関数を得た:NodeJS/MongoDBの - エラー:彼らは
const Account = require('../models/account');
exports.sendInvites = (accountIds, invite, callback) => {
if (!accountIds) {
callback('No account ids provided', null, null);
return;
}
accountIds.forEach((id) => {
Account.findOneAndUpdate({_id: id}, {$push: {organisationInvites: invite}}, callback);
});
};
その後、私はこのルートを持っている:
router.post('/organisations', auth.verifyToken, (req, res, next) => {
const organisation = new Organisation({
name: req.body.name,
email: req.body.email,
admins: [req.body.createdBy],
createdBy: req.body.createdBy
});
organisation.save((err, organisation) => {
if (err) {
return res.status(500).json({
error: err,
data: null
});
}
organisationUtils.sendInvites(req.body.invites, {
inviter: req.body.createdBy,
organisation: organisation._id
}, (err, account, response) => {
if (err) {
return res.status(500).json({
error: err,
data: null
});
}
res.json({
error: null,
data: organisation
});
});
});
});
私はError: Can't set headers after they are sent.
エラーが発生します
部分ですが、なぜこれが起こっているのか理解できません。私はここで受け入れられた答えを見てみましたError: Can't set headers after they are sent to the client、いくつかの掘り出しても、上記の私の特定の例で何が起こっているのか特定の理由を見つけることができませんでした。何か案は?
。 –
実際にコールバックを複数回使用する場合は、非同期ライブラリを使用します。 '' https:// caolan.github.io/async/docs.html''' –