【问题标题】:Async/Await on Google Cloud谷歌云上的异步/等待
【发布时间】:2017-12-13 03:01:05
【问题描述】:

我正在尝试在 Action-On-Google 中为 Dialogflow 部署 Webhook。

此 Webhook 使用 Async/Await,因此需要 NodeJS 8.x。

当我在我的 Google Cloud 控制台(cloud.google.com 网站上的那个)中输入“node --version”时,它会显示 8.5.0 作为节点版本。

但是当我通过“gcloud beta functions deploy”部署 webhook 脚本时,我在脚本中使用第一个“await”的位置收到“SyntaxError: Unexpected identifier”。

Google Cloud 中是否禁用了 async/await,即使它使用的是 Node 8.5?

【问题讨论】:

    标签: google-cloud-platform actions-on-google


    【解决方案1】:

    Google Cloud Functions(又名 Firebase Functions)仅支持节点 6.11.5(有关详细信息,请参阅 https://cloud.google.com/functions/docs/writing/)。因此,您只能使用该节点版本支持的语言功能。

    【讨论】:

    • 为什么 Google Cloud 控制台显示版本 8.5.0?这与 Google Cloud 功能有什么不同?
    • 是的,是的。控制台实际上是一个小型 VM,其中安装了一些工具,您可以使用这些工具进行开发、针对 GCP 编写脚本以及与 GCP 交互。 Google Cloud Functions 是大规模运行的独立沙盒函数,因此使用的是较旧的 LTS 版本的 Node.js。
    • Google App Engine 上的 Node 版本是 8
    • 您可以通过在 Typescript 或 Babel 中编写函数来利用 Node 7+ 的功能(如 async/await)。然后配置您的构建以将您的文件转换为与 Node 6 兼容的 Javascript。这样你就可以在本地开发任何你想要的 Node 版本,而不必担心 Firebase 的版本。
    猜你喜欢
    • 2019-05-20
    • 1970-01-01
    • 1970-01-01
    • 2021-05-25
    • 2017-11-10
    • 1970-01-01
    • 2020-12-13
    • 1970-01-01
    • 2023-03-12
    相关资源
    最近更新 更多