No, they will not. They only bounce to the result if you bind your promises, for which you need to return
internal promises created by the callbacks. Otherwise, the external promise cannot wait for them and will not know when / how they are decided (whether they fulfill or reject).
temporaryUserModel.findOne({email: req.body.email}).then(tempUser => { if (tempUser) { return temporaryUserModel.findOneAndUpdate({_id: tempUser.toJSON()._id}, user); // ^^^^^^ } else { return temporaryUserModel(user).save(); // ^^^^^^ } }).then((doc) => { // no need to duplicate this code when you chain anyway return res.status(200).json({ status: 'Success', data: {url: planOpted.chargifySignupUrl} }); }).catch(err => error(err, res));
Bergi source share