Rename qPromiseAll() helper to QtPromise::all()

For consistency with other helpers, deprecate `qPromiseAll()` in favor of `QtPromise::all()`.
This commit is contained in:
Simon Brunel
2019-03-05 17:37:41 +01:00
parent 963ec621e1
commit cbf4cc7867
16 changed files with 590 additions and 101 deletions

View File

@ -38,7 +38,6 @@ module.exports = {
'qtpromise/qpromise/then',
'qtpromise/qpromise/timeout',
'qtpromise/qpromise/wait',
'qtpromise/qpromise/all.md',
'qtpromise/qpromise/reject.md',
'qtpromise/qpromise/resolve.md'
]
@ -46,13 +45,13 @@ module.exports = {
{
title: 'Helpers',
children: [
'qtpromise/helpers/all',
'qtpromise/helpers/attempt',
'qtpromise/helpers/connect',
'qtpromise/helpers/each',
'qtpromise/helpers/filter',
'qtpromise/helpers/map',
'qtpromise/helpers/resolve',
'qtpromise/helpers/qpromiseall'
'qtpromise/helpers/resolve'
]
},
{

View File

@ -20,19 +20,18 @@
## Static Functions
* [`[static] QPromise<T>::all`](qpromise/all.md)
* [`[static] QPromise<T>::reject`](qpromise/reject.md)
* [`[static] QPromise<T>::resolve`](qpromise/resolve.md)
## Helpers
* [`QtPromise::all`](helpers/all.md)
* [`QtPromise::attempt`](helpers/attempt.md)
* [`QtPromise::connect`](helpers/connect.md)
* [`QtPromise::each`](helpers/each.md)
* [`QtPromise::filter`](helpers/filter.md)
* [`QtPromise::map`](helpers/map.md)
* [`QtPromise::resolve`](helpers/resolve.md)
* [`qPromiseAll`](helpers/qpromiseall.md)
## Exceptions
@ -42,4 +41,6 @@
## Deprecations
* `[static] QPromise<T>::all`: use [`QtPromise::all`](helpers/all.md) instead (since 0.5.0)
* `QtPromise::qPromise`: use [`QtPromise::resolve`](helpers/resolve.md) instead (since 0.5.0)
* `QtPromise::qPromiseAll`: use [`QtPromise::all`](helpers/all.md) instead (since 0.5.0)

View File

@ -0,0 +1,33 @@
---
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.)
```cpp
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) {
// {...}
});
```

View File

@ -1,22 +0,0 @@
---
title: qPromiseAll
---
# qPromiseAll
*Since: 0.1.0*
```
qPromiseAll(Sequence<QPromise<T>> promises) -> QPromise<QVector<T>>
qPromiseAll(Sequence<QPromise<void>> promises) -> QPromise<void>
```
This method simply calls the appropriated [`QPromise<T>::all`](../qpromise/all.md) static method based on the given `QVector` type. In some cases, this method is more convenient than the static one since it avoid some extra typing:
```cpp
QVector<QPromise<QByteArray> > promises{...}
auto output = qPromiseAll(promises);
// eq. QPromise<QByteArray>::all(promises)
```

View File

@ -31,4 +31,4 @@ output.then([](const QVector<QByteArray>& res) {
});
```
See also: [`qPromiseAll`](../helpers/qpromiseall.md)
See also: [`QtPromise::all`](../helpers/all.md)