How to use await async in firebase cloud function?
I've built a couple of cloud functions in nodejs 6 and now i want to use await
. How do I do that? How can I upgrade to node 8? I don't want to shift to typescript.
I've tried adding "engines": {"node": "8"}
to package.json but it changed nothing.
This is a test cloud function I made:
exports.awaittest = functions.https.onRequest(async (req, res)=>{
ref = await admin.database().ref("/something/");
res.send(ref)
})
when I try to deploy it (with package.json edited), I get this:
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)=>{
^
How do I upgrade to node8? I already have 6 functions deployed in node6.
node.js firebase asynchronous async-await google-cloud-functions
|
show 1 more comment
I've built a couple of cloud functions in nodejs 6 and now i want to use await
. How do I do that? How can I upgrade to node 8? I don't want to shift to typescript.
I've tried adding "engines": {"node": "8"}
to package.json but it changed nothing.
This is a test cloud function I made:
exports.awaittest = functions.https.onRequest(async (req, res)=>{
ref = await admin.database().ref("/something/");
res.send(ref)
})
when I try to deploy it (with package.json edited), I get this:
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)=>{
^
How do I upgrade to node8? I already have 6 functions deployed in node6.
node.js firebase asynchronous async-await google-cloud-functions
node.green ... you have to upgrade. Simply npm a upgrade to node or install it directly (windows)
– split
Nov 20 '18 at 1:38
Please edit the question to show the version of the CLI you're using, and proof that your function deployed to node 8 (it will be in the output). Also you should know that TypeScript is a strict superset of JavaScript, so all your JavaScript will just keep working if you just copy it over to TS.
– Doug Stevenson
Nov 20 '18 at 1:46
I am not with my laptop rn but I have ensured that all my tools and framework are up-to-date. If you think I should shift to typescript, please do tell me how to migrate my project to ts.
– Paramdeep Singh Obheroi
Nov 20 '18 at 1:48
You also need to be using Node.js 8 on your local machine, or the CLI will have parse errors when trying to extract trigger information from your code.
– Michael Bleigh
Nov 20 '18 at 2:11
Can you make sure adding"engines": {"node": "8"}
intofunctions/package.json
, notpackage.json
?
– gump
Nov 20 '18 at 5:31
|
show 1 more comment
I've built a couple of cloud functions in nodejs 6 and now i want to use await
. How do I do that? How can I upgrade to node 8? I don't want to shift to typescript.
I've tried adding "engines": {"node": "8"}
to package.json but it changed nothing.
This is a test cloud function I made:
exports.awaittest = functions.https.onRequest(async (req, res)=>{
ref = await admin.database().ref("/something/");
res.send(ref)
})
when I try to deploy it (with package.json edited), I get this:
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)=>{
^
How do I upgrade to node8? I already have 6 functions deployed in node6.
node.js firebase asynchronous async-await google-cloud-functions
I've built a couple of cloud functions in nodejs 6 and now i want to use await
. How do I do that? How can I upgrade to node 8? I don't want to shift to typescript.
I've tried adding "engines": {"node": "8"}
to package.json but it changed nothing.
This is a test cloud function I made:
exports.awaittest = functions.https.onRequest(async (req, res)=>{
ref = await admin.database().ref("/something/");
res.send(ref)
})
when I try to deploy it (with package.json edited), I get this:
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)=>{
^
How do I upgrade to node8? I already have 6 functions deployed in node6.
node.js firebase asynchronous async-await google-cloud-functions
node.js firebase asynchronous async-await google-cloud-functions
asked Nov 20 '18 at 1:21
Paramdeep Singh ObheroiParamdeep Singh Obheroi
334520
334520
node.green ... you have to upgrade. Simply npm a upgrade to node or install it directly (windows)
– split
Nov 20 '18 at 1:38
Please edit the question to show the version of the CLI you're using, and proof that your function deployed to node 8 (it will be in the output). Also you should know that TypeScript is a strict superset of JavaScript, so all your JavaScript will just keep working if you just copy it over to TS.
– Doug Stevenson
Nov 20 '18 at 1:46
I am not with my laptop rn but I have ensured that all my tools and framework are up-to-date. If you think I should shift to typescript, please do tell me how to migrate my project to ts.
– Paramdeep Singh Obheroi
Nov 20 '18 at 1:48
You also need to be using Node.js 8 on your local machine, or the CLI will have parse errors when trying to extract trigger information from your code.
– Michael Bleigh
Nov 20 '18 at 2:11
Can you make sure adding"engines": {"node": "8"}
intofunctions/package.json
, notpackage.json
?
– gump
Nov 20 '18 at 5:31
|
show 1 more comment
node.green ... you have to upgrade. Simply npm a upgrade to node or install it directly (windows)
– split
Nov 20 '18 at 1:38
Please edit the question to show the version of the CLI you're using, and proof that your function deployed to node 8 (it will be in the output). Also you should know that TypeScript is a strict superset of JavaScript, so all your JavaScript will just keep working if you just copy it over to TS.
– Doug Stevenson
Nov 20 '18 at 1:46
I am not with my laptop rn but I have ensured that all my tools and framework are up-to-date. If you think I should shift to typescript, please do tell me how to migrate my project to ts.
– Paramdeep Singh Obheroi
Nov 20 '18 at 1:48
You also need to be using Node.js 8 on your local machine, or the CLI will have parse errors when trying to extract trigger information from your code.
– Michael Bleigh
Nov 20 '18 at 2:11
Can you make sure adding"engines": {"node": "8"}
intofunctions/package.json
, notpackage.json
?
– gump
Nov 20 '18 at 5:31
node.green ... you have to upgrade. Simply npm a upgrade to node or install it directly (windows)
– split
Nov 20 '18 at 1:38
node.green ... you have to upgrade. Simply npm a upgrade to node or install it directly (windows)
– split
Nov 20 '18 at 1:38
Please edit the question to show the version of the CLI you're using, and proof that your function deployed to node 8 (it will be in the output). Also you should know that TypeScript is a strict superset of JavaScript, so all your JavaScript will just keep working if you just copy it over to TS.
– Doug Stevenson
Nov 20 '18 at 1:46
Please edit the question to show the version of the CLI you're using, and proof that your function deployed to node 8 (it will be in the output). Also you should know that TypeScript is a strict superset of JavaScript, so all your JavaScript will just keep working if you just copy it over to TS.
– Doug Stevenson
Nov 20 '18 at 1:46
I am not with my laptop rn but I have ensured that all my tools and framework are up-to-date. If you think I should shift to typescript, please do tell me how to migrate my project to ts.
– Paramdeep Singh Obheroi
Nov 20 '18 at 1:48
I am not with my laptop rn but I have ensured that all my tools and framework are up-to-date. If you think I should shift to typescript, please do tell me how to migrate my project to ts.
– Paramdeep Singh Obheroi
Nov 20 '18 at 1:48
You also need to be using Node.js 8 on your local machine, or the CLI will have parse errors when trying to extract trigger information from your code.
– Michael Bleigh
Nov 20 '18 at 2:11
You also need to be using Node.js 8 on your local machine, or the CLI will have parse errors when trying to extract trigger information from your code.
– Michael Bleigh
Nov 20 '18 at 2:11
Can you make sure adding
"engines": {"node": "8"}
into functions/package.json
, not package.json
?– gump
Nov 20 '18 at 5:31
Can you make sure adding
"engines": {"node": "8"}
into functions/package.json
, not package.json
?– gump
Nov 20 '18 at 5:31
|
show 1 more comment
1 Answer
1
active
oldest
votes
Okay I solved it. I had to first remove my older cloud functions via Google Cloud console, updated firebase-tools
and then re-deployed everything with "engines": {"node": "8"}
added to functions/package.json
.
I added engines node 8 but still got same error. !image.
– Lê Vũ Huy
11 hours ago
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53384916%2fhow-to-use-await-async-in-firebase-cloud-function%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Okay I solved it. I had to first remove my older cloud functions via Google Cloud console, updated firebase-tools
and then re-deployed everything with "engines": {"node": "8"}
added to functions/package.json
.
I added engines node 8 but still got same error. !image.
– Lê Vũ Huy
11 hours ago
add a comment |
Okay I solved it. I had to first remove my older cloud functions via Google Cloud console, updated firebase-tools
and then re-deployed everything with "engines": {"node": "8"}
added to functions/package.json
.
I added engines node 8 but still got same error. !image.
– Lê Vũ Huy
11 hours ago
add a comment |
Okay I solved it. I had to first remove my older cloud functions via Google Cloud console, updated firebase-tools
and then re-deployed everything with "engines": {"node": "8"}
added to functions/package.json
.
Okay I solved it. I had to first remove my older cloud functions via Google Cloud console, updated firebase-tools
and then re-deployed everything with "engines": {"node": "8"}
added to functions/package.json
.
answered Nov 20 '18 at 22:49
Paramdeep Singh ObheroiParamdeep Singh Obheroi
334520
334520
I added engines node 8 but still got same error. !image.
– Lê Vũ Huy
11 hours ago
add a comment |
I added engines node 8 but still got same error. !image.
– Lê Vũ Huy
11 hours ago
I added engines node 8 but still got same error. !image.
– Lê Vũ Huy
11 hours ago
I added engines node 8 but still got same error. !image.
– Lê Vũ Huy
11 hours ago
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53384916%2fhow-to-use-await-async-in-firebase-cloud-function%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
node.green ... you have to upgrade. Simply npm a upgrade to node or install it directly (windows)
– split
Nov 20 '18 at 1:38
Please edit the question to show the version of the CLI you're using, and proof that your function deployed to node 8 (it will be in the output). Also you should know that TypeScript is a strict superset of JavaScript, so all your JavaScript will just keep working if you just copy it over to TS.
– Doug Stevenson
Nov 20 '18 at 1:46
I am not with my laptop rn but I have ensured that all my tools and framework are up-to-date. If you think I should shift to typescript, please do tell me how to migrate my project to ts.
– Paramdeep Singh Obheroi
Nov 20 '18 at 1:48
You also need to be using Node.js 8 on your local machine, or the CLI will have parse errors when trying to extract trigger information from your code.
– Michael Bleigh
Nov 20 '18 at 2:11
Can you make sure adding
"engines": {"node": "8"}
intofunctions/package.json
, notpackage.json
?– gump
Nov 20 '18 at 5:31