微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

nodejs express 为什么不返回 res?

如何解决nodejs express 为什么不返回 res?

如果 isBookmark 为真,我想完成 输入 then 下面和 console.log(1);这有效,我希望它不起作用

checkLecture(addLectureinformation)
        .then(() => {
            return insertLecture(addLectureinformation);
        })
        .then((succesInsertLecture) => {
            if (true) {
                return res.status(200).json(succesInsertLecture);
            } else {
                return Promise.all([1]);
            }
        })
        .then(num => {
            console.log(1);
        })

帮助

解决方法

您不能跳过承诺链中的步骤,但您可以移动最后一个 then 如果您已经返回响应,则不会调用它:

checkLecture(addLectureInformation)
        .then(() => {
            return insertLecture(addLectureInformation);
        })
        .then((succesInsertLecture) => {
            // this should be other condition,because this will be true always and "else" is not even needed/run
            if (true) {
                return res.status(200).json(succesInsertLecture);
            } else {
                // Moving the last "then" here,so it is not called is you have sent a response already
                return Promise.all([Promise.resolve(1)]) // Promise all expects an array of promises
                         .then(num => {
                           console.log(1);
                         })
            }
        });

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。