【发布时间】:2018-12-05 13:47:54
【问题描述】:
我正在尝试观察给定 ref 的任何写入,并在给定的时间延迟(在本例中为 5 秒)后将其删除。当我部署以下云函数时,一旦我将新节点添加到 ref,该函数会立即返回(在 1 秒内),但所有控制台日志都以正确的顺序打印。
exports.monitorActiveSignals = functions.database.ref('/names/{pushId}')
.onCreate((snapshot, context) => {
const key = snapshot.key;
console.log(key);
return wait(5000, snapshot).then((snap) => {
console.log("timer done")
snap.ref.remove();
return;
})
})
const wait = (time, snap) => new Promise((resolve) => {
console.log(time)
console.log("timer started");
setTimeout(resolve(snap), time);
});
【问题讨论】:
-
你不是说要使用setTimeout吗? setInterval 会随着时间的推移重复触发,我敢肯定你不想在这里。
标签: firebase promise google-cloud-functions