Given a range of promises, resolve them one after another, and return a promise which is fulfilled when all promises in range are fulfilled. range may be a lazy range (e.g. a map which produces promises from other input), which will cause the work to be started only when the previous promise completes.
This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
Promise range tools.