Advertisement
Guest User

Untitled

a guest
Jul 20th, 2017
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.34 KB | None | 0 0
  1. // const promiseOf3 = Promise.resolve(3);
  2.  
  3. // promiseOf3
  4. // .then((data) => {
  5. // console.log('Got Data From Then', data);
  6. // });
  7.  
  8. // const promiseError = Promise.reject('Booooooo');
  9. // promiseError
  10. // .catch((error) => {
  11. // console.log('Caught an error', error);
  12. // });
  13.  
  14. // const words = ['Squad', 'is', 'the', 'new', 'crew'];
  15. // console.log(words);
  16. // const wordLengths = words.map(word => word.length);
  17.  
  18. // console.log(wordLengths);
  19.  
  20. // const wordPromise = Promise.resolve('Promise');
  21.  
  22. // const lengthPromise = wordPromise
  23. // .then(word => word.length);
  24.  
  25. // lengthPromise
  26. // .then(length => console.log('Length', length));
  27.  
  28. // const studentPromise = Promise.resolve({ name: 'Sanjana' });
  29.  
  30. // const greetingPromise = studentPromise
  31. // .then(student => Promise.resolve(`Hi, ${student.name}`));
  32.  
  33. // greetingPromise
  34. // .then((whatsInTheBox) => {
  35. // console.log('What\'s in the box!!!!?!?', whatsInTheBox, typeof whatsInTheBox);
  36. // });
  37.  
  38. function rando() {
  39. let string = '';
  40. const letters = 'abcdefghijklmnopqrstuvwxyz';
  41. const alphabet = `${letters + letters.toUpperCase()}0123456789`;
  42. for (let i = 0; i < 6; i += 1) {
  43. string += alphabet[Math.floor(Math.random() * alphabet.length)];
  44. }
  45. return string;
  46. }
  47.  
  48. const users = [];
  49. const events = [];
  50. const kittens = [];
  51.  
  52. function createUser(name) {
  53. const id = rando();
  54. const newUser = { name, id };
  55. users.push(newUser);
  56. console.log('Users', users);
  57. return Promise.resolve(newUser);
  58. }
  59.  
  60. function createEvent(title, userId) {
  61. const id = rando();
  62. const newEvent = {
  63. title, userId, id,
  64. };
  65. events.push(newEvent);
  66. console.log('Events', events);
  67. return Promise.resolve(newEvent);
  68. }
  69. function createKitten(name, userId) {
  70. const id = rando();
  71. const newKitten = {
  72. name, userId, id,
  73. };
  74. kittens.push(newKitten);
  75. console.log('Kittens', kittens);
  76. return Promise.resolve(newKitten);
  77. }
  78.  
  79. // Promise {user, event}
  80. function createUserAndEvent(name, title, kittenName) {
  81. console.log('Create User And Event', name, title);
  82.  
  83. const userPromise = createUser(name);
  84.  
  85. const userWithEventPromise = userPromise
  86. .then((user) => {
  87. const eventPromise = createEvent(title, user.id);
  88. const kittenPromise = createKitten(kittenName, user.id);
  89. const combinedPromise = Promise.all([eventPromise, kittenPromise]);
  90. return combinedPromise
  91. .then((results) => {
  92. const event = results[0];
  93. const kitten = results[1];
  94. return { user, event, kitten };
  95. });
  96.  
  97. // return eventPromise
  98. // .then(event => ({ event, user }));
  99. });
  100.  
  101. return userWithEventPromise;
  102. }
  103.  
  104. const userAndEventPromise = createUserAndEvent('Joel', 'Promise Party', 'Senor Snuggles');
  105. userAndEventPromise.then((obj) => {
  106. console.log('\nObj', obj);
  107. console.log('\nUser', obj.user);
  108. console.log('Event', obj.event);
  109. console.log('Kitten', obj.kitten);
  110. });
  111.  
  112. // const delay = (time = 2000) => new Promise(resolve => setTimeout(resolve, time));
  113.  
  114. // const nikolaiPromise = delay(2000).then(() => 'Nikolai');
  115. // const yohanPromise = delay(3000).then(() => 'Yohan');
  116.  
  117. // const combinedPromise = Promise.all([nikolaiPromise, yohanPromise]);
  118. // combinedPromise.then((dudes) => {
  119. // console.log('These Dudes', dudes);
  120. // });
  121.  
  122. const shoePromises = [/* promises that each resolve a shoe */];
  123. const shoesPromise = Promise.all(shoePromises); // A promise that resolves with an array of shoes
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement