Node.js 巴别塔:“是的。”;关键字';等待&x27;保留(53:24)“;

Node.js 巴别塔:“是的。”;关键字';等待&x27;保留(53:24)“;,node.js,meteor,async-await,babeljs,Node.js,Meteor,Async Await,Babeljs,我们正在为Meteor项目使用async/Wait。这种语法在我们的resolvers.js中随处可见。在升级到节点6.7之前,一切都很正常。现在,每当我们尝试构建它时,它都会显示此错误: “保留关键字‘等待’(53:24)” 有人知道如何解决这个问题吗 以下是my.babelrc文件的内容: { "presets": ["es2015", "stage-2", "react"], "plugins": ["react-require", "babel-root-slash-impor

我们正在为Meteor项目使用async/Wait。这种语法在我们的resolvers.js中随处可见。在升级到节点6.7之前,一切都很正常。现在,每当我们尝试构建它时,它都会显示此错误:

“保留关键字‘等待’(53:24)”

有人知道如何解决这个问题吗

以下是my.babelrc文件的内容:

{
  "presets": ["es2015", "stage-2", "react"],
  "plugins": ["react-require", "babel-root-slash-import"]
}

好吧,我找到了解决我自己问题的办法。我只是在进行Meteor构建时排除了.babelrc,因为Meteor已经有了一个支持ES6语法的包。我没有完全删除.babelrc,因为在测试和运行不会触发Meteor构建的故事书时,我需要它。

以防其他人搜索相同的问题,在我的情况下,这是用户错误,我。我忘了在函数名之前加上async关键字。

wait only是无效语法。await需要在异步函数内调用,如:

var aFunction = async function() {
  let aResponse = await get('aValue');
}

请注意,指数运算符正在从
stage-3
(由
stage-2
隐式包含)移动到预设,而异步/等待和尾随函数逗号正在移动到,因此您可能应该使用它们。我尝试将“es2015”更改为“es2017”,但仍然是相同的错误。您不应该将
es2015
更改为
es2017
,您应该添加
es2016
es2017
,而不是
stage-2
。(
[“es2015”、“es2016”、“es2017”、“react”]
)。无论如何,这并不是一个可能的解决方案,只是一个很快就会改变的“提醒”。哦,对不起。好吧,试试这个,还是不行。除了.babelrc之外,还有其他可能的因素吗?如果您有多个箭头功能,请确保将
wait
放在正确的箭头功能之前。示例:
constresult=(数据,url)=>async dispatch=>{…}