函式
函式 | 說明 |
---|---|
onCall(handler) | 宣告可讓用戶端使用 Firebase SDK 呼叫的可呼叫方法。 |
onRequest(handler) | 處理 HTTP 要求。 |
類別
類別 | 說明 |
---|---|
HttpsError | 可從處理常式擲回的明確錯誤,將錯誤傳送至呼叫該函式的用戶端。 |
介面
介面 | 說明 |
---|---|
CallableContext | 傳遞至處理常式的 API 中繼資料介面。 |
要求 | 以電匯格式表示要求主體的快速要求。 |
型別別名
類型別名 | 說明 |
---|---|
FunctionsErrorCode | Firebase Functions 狀態碼組合。這些代碼與 gRPC 所公開的程式碼相同。 |
https://
宣告可讓用戶端使用 Firebase SDK 呼叫的可呼叫方法。
簽名:
export declare function onCall(handler: (data: any, context: CallableContext) => any | Promise<any>): HttpsFunction & Runnable<any>;
參數
參數 | 類型 | 說明 |
---|---|---|
handler | (data:任何,結構定義:CallableContext) =>不限 |承諾<任何> | 可接收資料和背景資訊並傳回值的方法。 |
傳回:
HttpsFunction 和可執行<任何>
https.onRequest()
處理 HTTP 要求。
簽名:
export declare function onRequest(handler: (req: Request, resp: express.Response) => void | Promise<void>): HttpsFunction;
參數
參數 | 類型 | 說明 |
---|---|---|
handler | (要求:Request,resp: express.Response) =>void |承諾<void> | 接收要求和回應物件的函式,與 Express 應用程式相同的簽章。 |
傳回:
https.FunctionsErrorCode
Firebase Functions 狀態碼組合。這些代碼與 gRPC 所公開的程式碼相同。
可能的值:
cancelled
:作業已取消 (通常由呼叫端取消)。unknown
:不明錯誤,或來自其他錯誤網域的錯誤。invalid-argument
:用戶端指定的引數無效。請注意,此值與failed-precondition
不同。invalid-argument
表示無論系統狀態為何,引數都有問題 (例如欄位名稱無效)。deadline-exceeded
:作業完成前已過期。針對變更系統狀態的作業,即使作業已成功完成,也可能傳回此錯誤。例如,來自伺服器的成功回應延遲時間可能已長到足以使期限過期。not-found
:找不到部分要求的文件。already-exists
:我們嘗試建立的部分文件已存在。permission-denied
:呼叫端沒有執行指定作業的權限。resource-exhausted
:已耗盡部分資源,可能是每位使用者的配額,也可能是整個檔案系統的空間不足。failed-precondition
:作業遭拒,因為系統未處於執行作業所需的狀態。aborted
:作業已取消,通常是因為交易取消等並行問題所導致。out-of-range
:作業嘗試超出有效範圍。unimplemented
:未實作作業或不支援/未啟用作業。internal
:內部錯誤。意味著基礎系統預期的某些不變量已被破壞。如果看到這類錯誤,表示已經完全損壞。unavailable
:目前無法使用服務。這很可能是一個暫時的情況,並可透過重試輪詢來修正。data-loss
:無法復原的資料遺失或損毀。unauthenticated
:要求沒有作業的有效驗證憑證。
簽名:
export type FunctionsErrorCode = "ok" | "cancelled" | "unknown" | "invalid-argument" | "deadline-exceeded" | "not-found" | "already-exists" | "permission-denied" | "resource-exhausted" | "failed-precondition" | "aborted" | "out-of-range" | "unimplemented" | "internal" | "unavailable" | "data-loss" | "unauthenticated";