Skip to content

Instantly share code, notes, and snippets.

@darklight721
Created May 24, 2016 12:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save darklight721/01d7b34685fd2732bad42dce66f963aa to your computer and use it in GitHub Desktop.
Save darklight721/01d7b34685fd2732bad42dce66f963aa to your computer and use it in GitHub Desktop.
function sumf(n) {
let sum = 0;
for (let i = n; i > 0; i--) {
sum += i * (n - i + 1);
}
return sum;
}
function transform(...objs) {
let obj = Object.assign({}, ...(objs.reverse()));
let keys = Object.keys(obj).reverse();
let funcKeys = keys.filter(key => typeof obj[key] === 'function');
let promises = funcKeys.map(key => obj[key]());
return Promise.all(promises)
.then(keys => {
return Promise.all(keys.map(key => {
let value = obj[key];
return funcKeys.includes(key) ? value() : value;
}));
})
.then(result => result.filter(v => v).join(''));
}
function letterPromises() {
function promise(value, delay) {
let promise = new Promise(resolve => setTimeout(() => resolve(value), delay));
return promise.then(value => console.log(value));
}
return promise('a', 100)
.then(() => Promise.all([promise('b', 100), promise('c', 100), promise('d', 100)]))
.then(() => Promise.all([
promise('e', 100).then(() => promise('f', 100)).then(() => promise('h', 100)),
promise('g', 200)
]))
.then(() => promise('i', 100))
.then(() => promise('j', 100));
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment