代码之家  ›  专栏  ›  技术社区  ›  alionthego

使用iOS版swift SDK的lambdaInvoker是否有超时?

  •  1
  • alionthego  · 技术社区  · 6 年前

    我有一个lambdaInvoker,当我连接到一个网络,但连接不活动时,它似乎挂起。例如,当您连接到一个网络,但尚未进行身份验证时。所以wifi连接已打开并已连接,但您尚未验证。

    有没有必要手动设置调用程序的超时?

    let lambdaInvoker = AWSLambdaInvoker.default()
    
    lambdaInvoker.invokeFunction(lambdaFunctionString, jsonObject: jsonObject).continueWith(block: {(task:AWSTask<AnyObject>) -> Any? in
        if let error = task.error as NSError? {
            print(task.error!.localizedDescription)
            print(task.error!)
            DispatchQueue.main.async(execute: {
                if (error.domain == AWSLambdaInvokerErrorDomain) && (AWSLambdaInvokerErrorType.functionError == AWSLambdaInvokerErrorType(rawValue: error.code)) {
                    print("Function error: \(String(describing: error.userInfo[AWSLambdaInvokerFunctionErrorKey]))")
                    completion(nil)
                } else {
                    print("Error: \(error)")
                    completion(nil)
                }
            })
            return nil
        }
        // Handle response in task.result
        DispatchQueue.main.async(execute: {
            if let jsonArray = task.result as? NSArray {
                completion(jsonArray)
            } else {
                completion(nil)
            }
        })
        return nil
    })
    
    0 回复  |  直到 6 年前