重构 nodejs 以进行维护的问题

problem with refactoring nodejs for maintenance

所以下面的代码是函数式的,只是一个函数有不同的规范,但我有点怀疑,我相信它看起来很难看,特别是回调,它真的需要重构,关于如何重构它的任何想法可维护并克服缺陷?

await rps_id.map((rp_id) => {
                return new Promise((resolve, reject) => {
                    Part.Model.updateOne({
                            _id: rp_id
                        }, {
                            invoiceId: invoice._id
                        }).then(function(result) {
                            return resolve();
                        })
                        .catch(() => {
                            reject();
                        });
                });
            });

这是代码的其余部分:https://codepen.io/0xf10yd/pen/PopRWpz

非常感谢你的帮助,提前致谢

您已经使用了 await,因此我建议更改所有代码以使用 async/await 以保持一致性。

箭头函数中返回的Promise实际上没有任何作用。您在 .then 内解决并在 .catch 内拒绝。因此,除非对响应或抛出的错误进行了一些额外的处理,否则返回的承诺是多余的。

因为 Part.Model.updateOne 已经 returns 一个承诺(因为你在上面使用 .then),我猜你可能 trim 它很像所以:

await rps_id.map((rp_id) => Part.Model.updateOne({
            _id: rp_id
        }, {
            invoiced: invoice._id
        });

我真的无法测试它,但它应该像您的代码一样工作。