首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法将异步函数部署到Google函数

问无法将异步函数部署到Google函数
EN

Stack Overflow用户
提问于 2017-11-13 00:26:37
回答 3查看 1.9K关注 0票数 4

我正在使用Node的最新版本v8.9.1,但在部署以下代码时会出现此错误:

代码语言:javascript
复制
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:550
  async function deleteQueryBatch(db, query, batchSize, results) {
        ^^^^^^^^

SyntaxError: Unexpected token function

代码(获得错误需要虚拟函数):

代码语言:javascript
复制
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
const db = admin.firestore()

exports.some = functions.firestore.document('x/{x}').onCreate(event => {

})

function deleteCollectionAndReturnDeletedDocs(db, collectionRef, batchSize) {
    return deleteQueryBatch(db, collectionRef.limit(batchSize), batchSize, []);
  }
  async function deleteQueryBatch(db, query, batchSize, results) {
    const snapshot = await query.get();
    if (snapshot.size > 0) {
      let batch = db.batch();
      snapshot.docs.forEach(doc => {
        if (doc.exists) {
          results.push(doc.data())

        };
        batch.delete(doc.ref);
      });
      await batch.commit();
    }
    if (snapshot.size >= batchSize) {
      return deleteQueryBatch(db, query, batchSize, results);
    } else {

      return results;
    }
  }

如何部署异步函数?在Evennode上的服务器上,我没有得到这个错误。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-11-13 00:31:55

云函数目前运行Node 6 LTS。,这意味着它不支持本机异步/等待。如果您想使用某种形式的异步/等待,您必须将您的ES7或TypeScript转换到ES6中,以便它可以在云函数提供的Node容器中运行。转换程序应该使用允诺将异步/等待转换为等效代码。

该团队也在考虑提供Node 8 LTS。

票数 4
EN

Stack Overflow用户

发布于 2017-12-12 07:50:12

由于NodeJS 8.x现在是LTS,它应该可以工作,对吗?

当我在Google控制台中输入“节点-版本”时,它会显示8.5.0作为节点的版本。

但是,当我通过"gcloud beta函数部署“部署脚本时,在使用第一个”等待“的脚本位置会得到一个"SyntaxError:意外标识符”。

那么,在Google中异步/等待是禁用的吗?

票数 0
EN

Stack Overflow用户

发布于 2019-01-28 20:52:39

在通过Google平台部署异步函数时,我遇到了这个错误。尽管我在本地运行的是一个较新的NodeJS版本,但我还是将其部署为v6。您可以将您的函数部署为NodeJS、v6或v8。截至2019年1月,v6是默认的选择,需要在部署前选择v8(Beta)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47255551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档