取消 Firebase 功能

Pet*_*eem 1 ios firebase swift google-cloud-functions

是否可以在请求期间取消 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)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

或者也许以某种方式驳回较早的完成?因为现在,如果用户非常快速地输入文本,例如“柏林” - 完成将触发 6 次。我想有办法取消一个功能或取消以前的完成。

提前致谢。

ked*_*ked 5

你应该尝试去抖,基本都在,你炒你等待短短的请求之前(如: - 2秒),如果在这段时间里再度用户类型,定时器复位再次2秒,检查链接

一旦调用无法取消,它将被执行到完成或超时。