繁体   English   中英

当类型不是 node.js 中的模块时,异步函数返回“参数列表后缺少 )”

[英]Async functions return "missing ) after argument list" when type is not module in node.js

我是 JavaScript 的新手,所以如果我忽略了一些明显的东西,请原谅我。

我试图从程序中的文件中读取数据,然后将其分配给变量。

只要我使用 ECMAScript 模块并且在我的 package.json 类型设置为等于模块,它就可以正常工作:

 import {promises as fs} from 'fs'; const getDataFromFile = async () => { const result = await fs.readFile('input.txt', {encoding:'utf-8'}); return result } console.log(await getDataFromFile())

当我使用 CommonJS 模块系统和 require() 语法时,我收到一个 SyntaxError:

console.log(等待 getDataFromFile())^^^^^

SyntaxError: missing ) 在参数列表之后

 const {fs: promises} = require('fs'); const getDataFromFile = async () => { const result = await fs.readFile('input.txt', {encoding:'utf-8'}); return result } console.log(await getDataFromFile())

我对使用节点 pg 从数据库获取数据的异步 function 进行了相同的尝试,并且行为是相同的。

在异步 function 之外,使用经典然后 promise。

getDataFromFile().then(result => { console.log(result) });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM