Files
qtpromise/docs/qtpromise/helpers/all.md
Simon Brunel 3c1461b8d0 Enhance the documentation and add markdown lint
- Add npm package.json to make easier maintaining dependencies.
- Make markdown files consistent using remark.
- Wrap markdown lines to 100 characters.
- Better README.md layout and visual.
- Enable VuePress landing/home page.
- Upgrade to latest VuePress version.
- Add link to the new Qt Marketplace.
2019-12-21 10:27:26 +01:00

1.1 KiB

title
title
all

QtPromise::all

Since: 0.5.0

QtPromise::all(Sequence<QPromise<T>> promises) -> QPromise<QVector<T>>
QtPromise::all(Sequence<QPromise<void>> promises) -> QPromise<void>

Returns a QPromise<QVector<T>> (or QPromise<void>) that fulfills when all promises of (the same) type T have been fulfilled. The output value is a vector containing all the values of promises, in the same order, i.e., at the respective positions to the original sequence, regardless of completion order.

If any of the given promises fail, output immediately rejects with the error of the promise that rejected, whether or not the other promises are resolved.

Sequence is any STL compatible container (eg. QVector, QList, std::vector, etc.)

QVector<QPromise<QByteArray> > promises{
    download(QUrl("http://a...")),
    download(QUrl("http://b...")),
    download(QUrl("http://c..."))
};

auto output = QtPromise::all(promises);

// output type: QPromise<QVector<QByteArray>>
output.then([](const QVector<QByteArray>& res) {
    // {...}
});