Alamofire requestQueue не используется в сеансе, только запрос вызова - PullRequest
0 голосов
/ 06 августа 2020

У меня есть настраиваемый сеанс Alamofire, настроенный следующим образом:

class Networking {
    let session: Session?
    
    let rootQueue = DispatchQueue(label: "com.app.session.rootQueue")
    let requestQueue = DispatchQueue(label: "com.app.session.requestQueue")
    let serializationQueue = DispatchQueue(label: "com.app.session.serializationQueue")

    
    init() {
        newBrowserTokenProvider = NewBrowserTokenProvider()
        let interceptor = TokenRequestInterceptor()
        session = Session(rootQueue: rootQueue,
                          requestQueue: requestQueue,
                          serializationQueue: serializationQueue,
                          interceptor: interceptor)
    }


}

Однако при вызове запроса я должен предоставить очередь в качестве аргумента для закрытия ответа. Если я этого не сделаю, очередь, установленная на уровне сеанса (ожидается, что это «requestQueue»), не будет использоваться.

Например,

Не работает

        session?.request("https://people.googleapis.com/v1/people/me",
                         parameters: parameters).response { response in

        }

Работает:

        session?.request("https://people.googleapis.com/v1/people/me",
                         parameters: parameters).response(queue: requestQueue) { response in

        }
...