使用fsPromises读取JSON文件出现node:internal/process/promises:279错误
问题解决:fsPromises.readFile 提示文件不存在但实际存在
核心问题定位
先看错误信息里的文件路径:D:\\desktop\\Project\\Node\\Scraper\\json\\productVariables.json,而你写入、读取代码里的文件名是productVarables.json——注意拼写差异:正确文件名是productVariables(包含字母i),代码里写成了productVarables(少了一个i),这才是导致文件找不到的根本原因。
代码规范修正
另外你混用了fsPromises的Promise写法和回调函数,这会导致异步逻辑混乱。fsPromises的方法本身返回Promise,应该用try/catch处理错误,而非回调。
修正后的代码
写入JSON文件代码
try { await fsPromises.writeFile( path.join(__dirname, "json", "productVariables.json"), JSON.stringify(variables) ); console.log("成功写入JSON文件"); } catch (err) { console.log("写入JSON文件时出错:" + err); }
读取JSON文件代码
try { const data = await fsPromises.readFile( path.join(__dirname, "json", "productVariables.json"), "utf-8" ); console.log(data); } catch (err) { console.log(err); }
总结
- 确保写入和读取的文件名完全一致,修正拼写错误
- 遵循
fsPromises的Promise规范,用try/catch处理异步操作的错误,避免混用回调函数
内容的提问来源于stack exchange,提问作者boom pow
相关产品推荐
相关产品推荐

