Cloud Functions 出现 Firestore 错误 "Deadline Exceeded"
Cloud Functions with Firestore error "Deadline Exceeded"
我目前正在测试新的 firestore,但我总是遇到同样的问题,它告诉我一些关于 Deadline exceeded
{ Error: Deadline Exceeded
at /user_code/node_modules/firebase-admin/node_modules/grpc/src/node/src/client.js:554:15
code: 16,
metadata: Metadata { _internal_repr: {} },
note: 'Exception occurred in retry method that was not classified as transient' }
这是我当前的代码,看起来不错(并且在我将其部署到 Firebase 时有效)
const functions = require('firebase-functions');
const admin = require('firebase-admin');
var serviceAccount = require("./xxxxxxxx-firebase-adminsdk.json");
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://xxxxxxxxx-xxxx.firebaseio.com"
});
exports.registerUser = functions.auth.user().onCreate(event => {
admin.firestore().collection('users').doc(event.data.uid).set({
name: 'Test User',
country: 'USA'
}).catch(error => {
console.log(error);
})
});
它还显示此消息函数返回未定义、预期的 Promise 或值
使用 Cloud Functions 触发器,您需要 return a promise 在工作完成后解决。文档中的 set() 方法 return 是一个承诺,因此您应该 return 让 Cloud Functions 知道何时可以安全地清理该函数:
exports.registerUser = functions.auth.user().onCreate(event => {
return admin.firestore().collection('users').doc(event.data.uid).set(...)
});
我目前正在测试新的 firestore,但我总是遇到同样的问题,它告诉我一些关于 Deadline exceeded
{ Error: Deadline Exceeded
at /user_code/node_modules/firebase-admin/node_modules/grpc/src/node/src/client.js:554:15
code: 16,
metadata: Metadata { _internal_repr: {} },
note: 'Exception occurred in retry method that was not classified as transient' }
这是我当前的代码,看起来不错(并且在我将其部署到 Firebase 时有效)
const functions = require('firebase-functions');
const admin = require('firebase-admin');
var serviceAccount = require("./xxxxxxxx-firebase-adminsdk.json");
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://xxxxxxxxx-xxxx.firebaseio.com"
});
exports.registerUser = functions.auth.user().onCreate(event => {
admin.firestore().collection('users').doc(event.data.uid).set({
name: 'Test User',
country: 'USA'
}).catch(error => {
console.log(error);
})
});
它还显示此消息函数返回未定义、预期的 Promise 或值
使用 Cloud Functions 触发器,您需要 return a promise 在工作完成后解决。文档中的 set() 方法 return 是一个承诺,因此您应该 return 让 Cloud Functions 知道何时可以安全地清理该函数:
exports.registerUser = functions.auth.user().onCreate(event => {
return admin.firestore().collection('users').doc(event.data.uid).set(...)
});