Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // const promiseOf3 = Promise.resolve(3);
- // promiseOf3
- // .then((data) => {
- // console.log('Got Data From Then', data);
- // });
- // const promiseError = Promise.reject('Booooooo');
- // promiseError
- // .catch((error) => {
- // console.log('Caught an error', error);
- // });
- // const words = ['Squad', 'is', 'the', 'new', 'crew'];
- // console.log(words);
- // const wordLengths = words.map(word => word.length);
- // console.log(wordLengths);
- // const wordPromise = Promise.resolve('Promise');
- // const lengthPromise = wordPromise
- // .then(word => word.length);
- // lengthPromise
- // .then(length => console.log('Length', length));
- // const studentPromise = Promise.resolve({ name: 'Sanjana' });
- // const greetingPromise = studentPromise
- // .then(student => Promise.resolve(`Hi, ${student.name}`));
- // greetingPromise
- // .then((whatsInTheBox) => {
- // console.log('What\'s in the box!!!!?!?', whatsInTheBox, typeof whatsInTheBox);
- // });
- function rando() {
- let string = '';
- const letters = 'abcdefghijklmnopqrstuvwxyz';
- const alphabet = `${letters + letters.toUpperCase()}0123456789`;
- for (let i = 0; i < 6; i += 1) {
- string += alphabet[Math.floor(Math.random() * alphabet.length)];
- }
- return string;
- }
- const users = [];
- const events = [];
- const kittens = [];
- function createUser(name) {
- const id = rando();
- const newUser = { name, id };
- users.push(newUser);
- console.log('Users', users);
- return Promise.resolve(newUser);
- }
- function createEvent(title, userId) {
- const id = rando();
- const newEvent = {
- title, userId, id,
- };
- events.push(newEvent);
- console.log('Events', events);
- return Promise.resolve(newEvent);
- }
- function createKitten(name, userId) {
- const id = rando();
- const newKitten = {
- name, userId, id,
- };
- kittens.push(newKitten);
- console.log('Kittens', kittens);
- return Promise.resolve(newKitten);
- }
- // Promise {user, event}
- function createUserAndEvent(name, title, kittenName) {
- console.log('Create User And Event', name, title);
- const userPromise = createUser(name);
- const userWithEventPromise = userPromise
- .then((user) => {
- const eventPromise = createEvent(title, user.id);
- const kittenPromise = createKitten(kittenName, user.id);
- const combinedPromise = Promise.all([eventPromise, kittenPromise]);
- return combinedPromise
- .then((results) => {
- const event = results[0];
- const kitten = results[1];
- return { user, event, kitten };
- });
- // return eventPromise
- // .then(event => ({ event, user }));
- });
- return userWithEventPromise;
- }
- const userAndEventPromise = createUserAndEvent('Joel', 'Promise Party', 'Senor Snuggles');
- userAndEventPromise.then((obj) => {
- console.log('\nObj', obj);
- console.log('\nUser', obj.user);
- console.log('Event', obj.event);
- console.log('Kitten', obj.kitten);
- });
- // const delay = (time = 2000) => new Promise(resolve => setTimeout(resolve, time));
- // const nikolaiPromise = delay(2000).then(() => 'Nikolai');
- // const yohanPromise = delay(3000).then(() => 'Yohan');
- // const combinedPromise = Promise.all([nikolaiPromise, yohanPromise]);
- // combinedPromise.then((dudes) => {
- // console.log('These Dudes', dudes);
- // });
- const shoePromises = [/* promises that each resolve a shoe */];
- const shoesPromise = Promise.all(shoePromises); // A promise that resolves with an array of shoes
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement