是否可以在请求期间取消Firebase HTTPS Callable函数? 我有一个带有一些预测搜索的功能。每次用户在搜索字段中输入字符时都会调用它。
法典:
func startSearch(_ query: String, completion: @escaping (_ results: [SearcheResults]) -> Void) {
let data = [
"query": query
]
functions.httpsCallable("startSearch").call(data) { (result, error) in
if error != nil {
completion([])
} else if let data = result?.data {
// some data manipulations
completion(elements)
}
}
}
或者也许以某种方式驳回了早期的完成?因为就目前而言,如果用户非常快速并输入文本,例如"柏林" - 完成将触发 6 次。我想有一种方法可以取消函数或取消以前的完成。
提前谢谢。
您应该尝试去抖动,基本上是在去抖动中,然后再触发请求,您等待很短的时间跨度(例如:- 2 秒(,如果用户再次输入该跨度,计时器将重置为再次 2 秒,检查链接
调用一旦发出,就无法取消,它将被执行以完成或超时。
调用可调用函数后,无法取消该函数。该函数将运行到完成或超时。 您需要在客户端上确定您确实要调用该函数。 您没有义务使用结果(如果需要,可以忽略它(,但事务将完成,除非客户端应用程序在此过程中死亡。 在这种情况下,后端上的函数仍将完成,但它将无法传递响应。