Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Decorate $q with $q.spread() #81

Closed
jniles opened this issue Feb 5, 2016 · 1 comment
Closed

Decorate $q with $q.spread() #81

jniles opened this issue Feb 5, 2016 · 1 comment

Comments

@jniles
Copy link
Collaborator

jniles commented Feb 5, 2016

This is a request for a polyfill/decorator that will allow me to write much cleaner client-side code. Angular's $q service provides a tiny API. I've found myself writing the following code several times:

Service.detail(id)
.then(function (entitiy) {
  return [
   ServiceA.detail(entity.idA),
   ServiceB.detail(entity.idB),
   ServiceC.list(),
   ServiceD.methodX()
}).then(function (promises) {
  var entityA = promises[0];
  var entityB = promises[1];
  var entityC = promises[2];
  var entityD = promises[3];

  // logic!
})
.catch(handler);

This code is obtuse and hard to read. If we decorated $q with $q.spread() I could write:

Service.detail(id)
.then(function (entitiy) {
  return [
   ServiceA.detail(entity.idA),
   ServiceB.detail(entity.idB),
   ServiceC.list(),
   ServiceD.methodX()
}).spread(function (entityA, entityB, entityC, entityD) {

  // logic!
})
.catch(handler);

which is certainly much prettier. Adding methods to AngularJS services is easy with Angular.decorator.

@jniles
Copy link
Collaborator Author

jniles commented May 25, 2016

There hasn't been a strong enough need for this yet. Closing it until that need is presented.

@jniles jniles closed this as completed May 25, 2016
bors bot added a commit that referenced this issue Jul 22, 2019
3813: Update cz-conventional-changelog to the latest version 🚀 r=jniles a=greenkeeper[bot]


## The devDependency [cz-conventional-changelog](https://github.com/commitizen/cz-conventional-changelog) was updated from `2.1.0` to `3.0.0`.
This version is **not covered** by your **current version range**.

If you don’t accept this pull request, your project will work just like it did before. However, you might be missing out on a bunch of new features, fixes and/or performance improvements from the dependency update.

---

**Publisher:** [commitizen-bot](https://www.npmjs.com/~commitizen-bot)
**License:** MIT

<details>
<summary>Release Notes for v3.0.0</summary>

<h1><a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/compare/v2.1.0...v3.0.0">3.0.0</a> (2019-07-19)</h1>
<h3>Bug Fixes</h3>
<ul>
<li>remove pre-node 10 support (<a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/issues/86" data-hovercard-type="pull_request" data-hovercard-url="/commitizen/cz-conventional-changelog/pull/86/hovercard">#86</a>) (<a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/commit/76588ad">76588ad</a>)</li>
</ul>
<h3>Features</h3>
<ul>
<li>add default values to options (<a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/issues/69" data-hovercard-type="pull_request" data-hovercard-url="/commitizen/cz-conventional-changelog/pull/69/hovercard">#69</a>) (<a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/commit/65d6a9f">65d6a9f</a>)</li>
<li>implement configuration through package.json (<a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/issues/75" data-hovercard-type="pull_request" data-hovercard-url="/commitizen/cz-conventional-changelog/pull/75/hovercard">#75</a>) (<a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/commit/3398c02">3398c02</a>)</li>
</ul>
<h3>BREAKING CHANGES</h3>
<ul>
<li>Node 10 is LTS so please upgrade to it.</li>
</ul>
</details>

<details>
<summary>Commits</summary>
<p>The new version differs by 7 commits.</p>
<ul>
<li><a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/commit/76588adc6eb0c09f684dd9f7359c12492ee69d81"><code>76588ad</code></a> <code>fix: remove pre-node 10 support (#86)</code></li>
<li><a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/commit/6ed57bdd7c7220c947ddbafff4f74fa6e5597a80"><code>6ed57bd</code></a> <code>ci(publish): fixed the npm command to run semantic-release (#81)</code></li>
<li><a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/commit/3398c02207b42133691dac8be21257ee28a0ac4c"><code>3398c02</code></a> <code>feat: implement configuration through package.json (#75)</code></li>
<li><a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/commit/65d6a9f935318398ea120da406d76b78498ca632"><code>65d6a9f</code></a> <code>feat: add default values to options (#69)</code></li>
<li><a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/commit/f2ca75525f5788342ccdf6efd9391f742f0509b7"><code>f2ca755</code></a> <code>chore(license): adds missing MIT license file (#67)</code></li>
<li><a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/commit/d4bf98e59b0d24e18876945546181ada5e2f7448"><code>d4bf98e</code></a> <code>Merge pull request #64 from jacobq/patch-1</code></li>
<li><a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/commit/ff370a323c571a7080d2f9073c0fae2111a1760e"><code>ff370a3</code></a> <code>doc(README): Update link (again)</code></li>
</ul>
<p>See the <a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/compare/d40ac2c5a0021a2c6faa7b8471a3003213a2c7ef...76588adc6eb0c09f684dd9f7359c12492ee69d81">full diff</a></p>
</details>

---

<details>
  <summary>FAQ and help</summary>

  There is a collection of [frequently asked questions](https://greenkeeper.io/faq.html). If those don’t help, you can always [ask the humans behind Greenkeeper](https://github.com/greenkeeperio/greenkeeper/issues/new).
</details>

---


Your [Greenkeeper](https://greenkeeper.io) bot 🌴



Co-authored-by: greenkeeper[bot] <23040076+greenkeeper[bot]@users.noreply.github.com>
bors bot added a commit that referenced this issue Jul 23, 2019
3813: Update cz-conventional-changelog to the latest version 🚀 r=jniles a=greenkeeper[bot]


## The devDependency [cz-conventional-changelog](https://github.com/commitizen/cz-conventional-changelog) was updated from `2.1.0` to `3.0.0`.
This version is **not covered** by your **current version range**.

If you don’t accept this pull request, your project will work just like it did before. However, you might be missing out on a bunch of new features, fixes and/or performance improvements from the dependency update.

---

**Publisher:** [commitizen-bot](https://www.npmjs.com/~commitizen-bot)
**License:** MIT

<details>
<summary>Release Notes for v3.0.0</summary>

<h1><a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/compare/v2.1.0...v3.0.0">3.0.0</a> (2019-07-19)</h1>
<h3>Bug Fixes</h3>
<ul>
<li>remove pre-node 10 support (<a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/issues/86" data-hovercard-type="pull_request" data-hovercard-url="/commitizen/cz-conventional-changelog/pull/86/hovercard">#86</a>) (<a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/commit/76588ad">76588ad</a>)</li>
</ul>
<h3>Features</h3>
<ul>
<li>add default values to options (<a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/issues/69" data-hovercard-type="pull_request" data-hovercard-url="/commitizen/cz-conventional-changelog/pull/69/hovercard">#69</a>) (<a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/commit/65d6a9f">65d6a9f</a>)</li>
<li>implement configuration through package.json (<a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/issues/75" data-hovercard-type="pull_request" data-hovercard-url="/commitizen/cz-conventional-changelog/pull/75/hovercard">#75</a>) (<a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/commit/3398c02">3398c02</a>)</li>
</ul>
<h3>BREAKING CHANGES</h3>
<ul>
<li>Node 10 is LTS so please upgrade to it.</li>
</ul>
</details>

<details>
<summary>Commits</summary>
<p>The new version differs by 7 commits.</p>
<ul>
<li><a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/commit/76588adc6eb0c09f684dd9f7359c12492ee69d81"><code>76588ad</code></a> <code>fix: remove pre-node 10 support (#86)</code></li>
<li><a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/commit/6ed57bdd7c7220c947ddbafff4f74fa6e5597a80"><code>6ed57bd</code></a> <code>ci(publish): fixed the npm command to run semantic-release (#81)</code></li>
<li><a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/commit/3398c02207b42133691dac8be21257ee28a0ac4c"><code>3398c02</code></a> <code>feat: implement configuration through package.json (#75)</code></li>
<li><a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/commit/65d6a9f935318398ea120da406d76b78498ca632"><code>65d6a9f</code></a> <code>feat: add default values to options (#69)</code></li>
<li><a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/commit/f2ca75525f5788342ccdf6efd9391f742f0509b7"><code>f2ca755</code></a> <code>chore(license): adds missing MIT license file (#67)</code></li>
<li><a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/commit/d4bf98e59b0d24e18876945546181ada5e2f7448"><code>d4bf98e</code></a> <code>Merge pull request #64 from jacobq/patch-1</code></li>
<li><a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/commit/ff370a323c571a7080d2f9073c0fae2111a1760e"><code>ff370a3</code></a> <code>doc(README): Update link (again)</code></li>
</ul>
<p>See the <a href="https://urls.greenkeeper.io/commitizen/cz-conventional-changelog/compare/d40ac2c5a0021a2c6faa7b8471a3003213a2c7ef...76588adc6eb0c09f684dd9f7359c12492ee69d81">full diff</a></p>
</details>

---

<details>
  <summary>FAQ and help</summary>

  There is a collection of [frequently asked questions](https://greenkeeper.io/faq.html). If those don’t help, you can always [ask the humans behind Greenkeeper](https://github.com/greenkeeperio/greenkeeper/issues/new).
</details>

---


Your [Greenkeeper](https://greenkeeper.io) bot 🌴



Co-authored-by: greenkeeper[bot] <23040076+greenkeeper[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant