Skip to content

Instantly share code, notes, and snippets.

View gsong's full-sized avatar

George Song gsong

View GitHub Profile
@zachlysobey
zachlysobey / q-advice.md
Last active June 8, 2016 19:52
breakingthings's $q advice

@breakingthings's promise advice

How not to suck at $q

  1. success / error are not promise flow. They're pseudopromise demons. Use then and catch instead.
  2. $q.defer is satan. You should basically never use it. There is an alternative syntax that is superior, $q(function(resolve, reject) {}) but chances are that what you’re working with already returns a promise, and if it does there is absolutely no need for either of these.
  3. Don’t use the promiseFn().then(successFn, errorFn) pattern, as errorFn will only catch errors caused by promiseFn, but not by successFn. Use then(successFn).catch(errorFn) instead. Also note that you can chain several thenables and catch all of them this way, ala then(a).then(b).then(c).catch(errorFn), in which errorFn will handle errors that happen for any of a, b, or c.
  4. Whatever you return from a then-able is turned into a resolving promise. Whatever you throw is turned into a rejecting one. For instance, `.catch
@staltz
staltz / introrx.md
Last active March 29, 2024 06:13
The introduction to Reactive Programming you've been missing
@plentz
plentz / nginx.conf
Last active March 20, 2024 18:49
Best nginx configuration for improved security(and performance)
# to generate your dhparam.pem file, run in the terminal
openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048