异步https firebase功能

Ala*_*lan 0 firebase google-cloud-functions

HTTPS函数应该像实时函数一样返回异步承诺吗?我们还没有在HTTPS函数中返回(只使用res.status.send等),而且看起来firebase/function-samples也不是.但文档略显含糊不清https://firebase.google.com/docs/functions/terminate-functions.

Dáv*_*zki 8

这现在适用于最新的 Firebase:

exports.asyncFunction = functions.https.onRequest(async (request, response) => {
    const result = await someAsyncFunction();
    response.send(result);
});
Run Code Online (Sandbox Code Playgroud)


Dou*_*son 7

HTTP函数当前不尊重返回的promise - 它们需要发送结果才能正常终止.如果HTTP函数没有发送结果,它将超时.

所有其他类型的函数都需要返回的promise,以便等待异步工作完全完成.

如果您没有等待的异步工作,您可以立即返回.

这些是文档中概述的三个案例.

  • HTTP触发器只需要发送响应.如果你需要使用promises协调你的工作,那么这样做,但从函数返回一个promise将不会做任何事情.您必须在代码中的每个可能的终止点发送响应. (2认同)