NodeJS 认为我在重复参数名称时我不是

Sky*_*827 0 javascript node.js ecmascript-6

谢谢你看我的问题。

在此 javascript 初始化代码中,在第 94 行,我收到一个语法错误:“此上下文中不允许出现重复的参数名称”。但是,我没有复制任何参数。我的所有函数的参数名称在其范围内都是唯一的。

存储库位于https://github.com/allenchan3/foodproject/blob/c3442a3b8542e1f9cbcc5f3f78175765a292dd9a,有问题的脚本位于https://github.com/allenchan3/foodproject/blob/c3442a3b856dc72a2a3b8573dcc2a3b8563728cc2a3b8573dcc78cs . 错误出现在对 的函数调用中create_menu_items。我仔细检查了这个文件中是否有重复的参数名称,但没有发现。我尝试更改主函数中 3 个声明变量中的每一个的名称,以及更改参数的名称。似乎没有什么可以消除语法错误,这阻止了我的函数执行。

async function create_menu_items(filenames, directory, cat_names_to_ids) {
    /// stuff
}
async function main() {
    await create_menu_items(menu_item_filenames, menu_item_dir, categories_name_to_id);
}


[skyler@laptop server]$ npm start
[.....snip.....]
(node:6571) UnhandledPromiseRejectionWarning: SyntaxError: Duplicate parameter name not allowed in this context
Run Code Online (Sandbox Code Playgroud)

如前所述,这个错误不断出现并且函数create_menu_items没有运行,即使我认为它应该运行,因为没有一个参数似乎与任何东西冲突。

再次感谢您的观看。

Nur*_*yev 5

这是你的问题

objects.reduce((prev_items,curr_items_obj,_,_)=>{
                                          ^ ^
Run Code Online (Sandbox Code Playgroud)

似乎您想以这种方式省略可选参数,但您应该像这样跳过它们:

objects.reduce((prev_items,curr_items_obj)=>{
Run Code Online (Sandbox Code Playgroud)