如何在firebasecloud函数中使用等待异步



我在nodejs 6中构建了几个云函数,现在我想使用await。我该怎么做?如何升级到节点8?我不想改为打字。

我尝试过将"engines": {"node": "8"}添加到package.json中,但没有任何改变。

这是我做的一个测试云功能:

exports.awaittest = functions.https.onRequest(async (req, res)=>{
ref = await admin.database().ref("/something/");
res.send(ref)
})

当我尝试部署它(编辑了package.json(时,我得到的是:

SyntaxError: Unexpected token (
at createScript (vm.js:56:10)
at Object.runInThisContext (vm.js:97:10)
at Module._compile (module.js:549:28)
at Object.Module._extensions..js (module.js:586:10)
at Module.load (module.js:494:32)
at tryModuleLoad (module.js:453:12)
at Function.Module._load (module.js:445:3)
at Module.require (module.js:504:17)
at require (internal/module.js:20:19)
at getUserFunction (/var/tmp/worker/worker.js:413:24)
!  functions[awaittest]: Deployment error.
Function load error: Code in file index.js can't be loaded.
Is there a syntax error in your code?
Detailed stack trace: /user_code/index.js:59
exports.awaittest = functions.https.onRequest(async (req, res)=>{
^

如何升级到node8?我已经在node6中部署了6个功能。

我在functions/.eslintrc.json目录中通过更改以下内容解决了这个问题:

"parserOptions": {
"ecmaVersion": 6
}
// to
"parserOptions": {
"ecmaVersion": 2017
}
'''

相关内容

  • 没有找到相关文章

最新更新