Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 重构节点以进行维护时出现问题_Javascript_Node.js_Refactoring - Fatal编程技术网

Javascript 重构节点以进行维护时出现问题

Javascript 重构节点以进行维护时出现问题,javascript,node.js,refactoring,Javascript,Node.js,Refactoring,所以下面的代码是功能性的,只是一个不同规格的函数,但我有点怀疑,我认为它看起来很难看,特别是回调,它真的需要重构,有没有关于如何重构以保持可维护性和克服缺陷的想法 wait rps\u id.map((rp\u id)=>{ 返回新承诺((解决、拒绝)=>{ Part.Model.updateOne({ _id:rp\u id }, { 发票id:发票。\u id }).然后(函数(结果){ 返回resolve(); }) .catch(()=>{ 拒绝(); }); }); });您已经使用

所以下面的代码是功能性的,只是一个不同规格的函数,但我有点怀疑,我认为它看起来很难看,特别是回调,它真的需要重构,有没有关于如何重构以保持可维护性和克服缺陷的想法

wait rps\u id.map((rp\u id)=>{
返回新承诺((解决、拒绝)=>{
Part.Model.updateOne({
_id:rp\u id
}, {
发票id:发票。\u id
}).然后(函数(结果){
返回resolve();
})
.catch(()=>{
拒绝();
});
});

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

arrow函数中返回的承诺实际上没有任何作用。在
内解析,然后在
内拒绝。因此,除非对响应或抛出的错误有额外的处理,否则返回的承诺是多余的

由于
Part.Model.updateOne
已经返回了一个承诺(因为您在上面使用了
.then
),我猜您可能会像这样对它进行修剪:

wait rps_id.map((rp_id)=>Part.Model.updateOne({
_id:rp\u id
}, {
发票:发票。\u id
});
我不是真的能够测试这个,但它应该像你的代码一样工作