为什么Firebase的云端function需要25秒?

为了清楚起见,我有其他的云function,它们都是间歇性地运行的(例如,从大约2-6秒的“冷”开始,并且全部使用相同的样板设置来导入pipe理实例并将该function作为模块输出)

我见过其他类似的post,但这实在是在烦扰我。 我有这样的云function:

const admin = require('../AdminConfig'); const { reportError } = require('../ReportError'); module.exports = (event) => { const uid = event.params.uid; const snapshot = event.data; if (snapshot._newData === null ) { return null; } console.log('Create org begin running: ', Date.now()); const organisation = event.data.val(); const rootRef = admin.database().ref(); const ref = rootRef.child('/organisations').push(); const oid = ref.key; const userData = { level: 'owner', name: organisation.name, }; const orgShiftInfo = { name: organisation.name, startDay: organisation.startDay || 'Monday', }; const updatedData = {}; updatedData[`/users/${uid}/currentOrg`] = oid; updatedData[`/users/${uid}/organisations/${oid}`] = userData; updatedData[`/organisations/${oid}`] = organisation; updatedData[`/org_shift_info/${oid}`] = orgShiftInfo; rootRef.update(updatedData, (err) => { if (err) { return rootRef.child(`/users/${uid}/addOrgStatus`).set({ error: true }) .then(() => { console.log(`error adding organisation for ${uid}: `, err); return reportError(err, { uid }); }); } console.log('Create org wrote succesfully: ', Date.now()); return rootRef.child(`/users/${uid}/addOrgStatus`).set({ success: true }); }); } 

我了解“冷启动”的事情,但我认为有25秒的时间是严重的错误。 日志不会返回任何错误,如下所示:

在这里输入图像描述

有没有更深一层的方式,我可以debugging这个试图找出为什么它需要这么久? 目前无法使用。 非常感谢。

解决:对不起,我误解了一下API。 我应该先看看承诺video !

我需要投入

 return rootRef.update... 

代替

 rootRef.update...