Latest 1.0.0
Homepage https://github.com/notohiro/RxObservableQueue
License MIT
Platforms ios 8.0, requires ARC
Dependencies RxSwift
Authors

CocoaPods Compatible
Carthage Compatible
Platform

With RxObservableQueue, you can mange Observables as Queue.
RxObservableQueue is thin wrapper for containing emitted objects and emitting objects when desired.

Features

Requirements

  • iOS 8.0+
  • Xcode 8.0+
  • RxSwift

Installation

RxObservableQueue is available through CocoaPods and Carthage.

CocoaPods

To install, simply add the following line to your Podfile:

CocoaPods 1.2.1+ is required to build RxObservableQueue.

platform :ios, '8.0'
use_frameworks!

pod 'RxObservableQueue'

Carthage

To integrate RxObservableQueue into your Xcode project using Carthage, specify it in your Cartfile:

github "notohiro/RxObservableQueue"

Run carthage update to build the framework and drag the built RxObservableQueue.framework into your Xcode project.

Usage

Initialize with Observable and the number of concurrency.

queue = RxObservableQueue
  .create(observable: someObservable, maxConcurrentCount: 3)

Subscribe and send signal() when you need next object.

queue.subscribe(onNext: { item, counter in
  // do some time-consuming task
  doSomeOperation(item) {
    // send signal() to pop next task from queue
    counter.signal()
  }
  })
  .addDisposableTo(bag)

Author

Twitter

License

RxObservableQueue is available under the MIT license. See the LICENSE file for more info.

Latest podspec

{
    "name": "RxObservableQueue",
    "version": "1.0.0",
    "summary": "A Library for Queuing from Observable",
    "homepage": "https://github.com/notohiro/RxObservableQueue",
    "license": "MIT",
    "authors": {
        "Hiroshi Noto": "[email protected]"
    },
    "source": {
        "git": "https://github.com/notohiro/RxQueue.git",
        "tag": "1.0.0"
    },
    "platforms": {
        "ios": "8.0"
    },
    "requires_arc": true,
    "source_files": "RxObservableQueue/*",
    "dependencies": {
        "RxSwift": []
    },
    "pushed_with_swift_version": "3.0"
}

Pin It on Pinterest

Share This