我正在使用Node的最新版本v8.9.1,但在部署以下代码时会出现此错误:
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代码(获得错误需要虚拟函数):
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上的服务器上,我没有得到这个错误。
发布于 2017-11-13 00:31:55
云函数目前运行Node 6 LTS。,这意味着它不支持本机异步/等待。如果您想使用某种形式的异步/等待,您必须将您的ES7或TypeScript转换到ES6中,以便它可以在云函数提供的Node容器中运行。转换程序应该使用允诺将异步/等待转换为等效代码。
该团队也在考虑提供Node 8 LTS。
发布于 2017-12-12 07:50:12
由于NodeJS 8.x现在是LTS,它应该可以工作,对吗?
当我在Google控制台中输入“节点-版本”时,它会显示8.5.0作为节点的版本。
但是,当我通过"gcloud beta函数部署“部署脚本时,在使用第一个”等待“的脚本位置会得到一个"SyntaxError:意外标识符”。
那么,在Google中异步/等待是禁用的吗?
发布于 2019-01-28 20:52:39
在通过Google平台部署异步函数时,我遇到了这个错误。尽管我在本地运行的是一个较新的NodeJS版本,但我还是将其部署为v6。您可以将您的函数部署为NodeJS、v6或v8。截至2019年1月,v6是默认的选择,需要在部署前选择v8(Beta)。
https://stackoverflow.com/questions/47255551
复制相似问题