簡體   English   中英

如何從 Firebase 雲調用異步函數 Function

[英]How to call async functions from a Firebase Cloud Function

我正在導出一個 Firebase 雲 function,我可以從我的 iOS 應用程序調用它。

exports.myFunction = functions.https.onCall((someData, context) => {

});

如何調用異步 function?

exports.myFunction = functions.https.onCall((someData, context) => {

    return await someAsyncFunction();

});

文檔聲明要返回 promise,但我不確定如何將現有的異步 function 包裝到我可以返回的 promise 中。

https://firebase.google.com/docs/functions/callable

異步操作后返回數據,返回一個promise,promise返回的數據返回給客戶端。 例如,您可以返回可調用對象 function 寫入實時數據庫的經過清理的文本:

嘗試在 function 前面附加 async 以使用 await。

 exports.myFunction = functions.https.onCall(async(someData, context) => { return await someAsyncFunction(); });

您可以使回調 function 傳遞給onCall異步,以便您可以在其中使用 await :

exports.myFunction = functions.https.onCall(async (someData, context) => {
    return await someAsyncFunction();
});

或者,您可以簡單地返回 someAsyncFunction 返回的someAsyncFunction

exports.myFunction = functions.https.onCall((someData, context) => {
    return someAsyncFunction();
});

在任何一種情況下,您都必須返回一個 promise來解析數據以序列化並發送到客戶端應用程序。 這兩種方法都可以做到這一點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM