소스 검색

Return request in ProductsInfoController

Roman Podymov 5 년 전
부모
커밋
913e8c6486
1개의 변경된 파일3개의 추가작업 그리고 1개의 파일을 삭제
  1. 3 1
      SwiftyStoreKit/ProductsInfoController.swift

+ 3 - 1
SwiftyStoreKit/ProductsInfoController.swift

@@ -51,7 +51,7 @@ class ProductsInfoController: NSObject {
     // As we can have multiple inflight requests, we store them in a dictionary by product ids
     private var inflightRequests: [Set<String>: InAppProductQuery] = [:]
 
-    func retrieveProductsInfo(_ productIds: Set<String>, completion: @escaping (RetrieveResults) -> Void) {
+    func retrieveProductsInfo(_ productIds: Set<String>, completion: @escaping (RetrieveResults) -> Void) -> InAppProductRequest {
 
         if inflightRequests[productIds] == nil {
             let request = inAppProductRequestBuilder.request(productIds: productIds) { results in
@@ -68,8 +68,10 @@ class ProductsInfoController: NSObject {
             }
             inflightRequests[productIds] = InAppProductQuery(request: request, completionHandlers: [completion])
             request.start()
+            return request
         } else {
             inflightRequests[productIds]!.completionHandlers.append(completion)
+            return inflightRequests[productIds]!.request
         }
     }
 }