Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function getRandomValue(max) {
- if (max === undefined) max = 1000;
- return Math.round(Math.random() * 1000);
- }
- function getUserId(user) {
- return new Promise(function(resolve, reject) {
- setTimeout(function() {
- user.id = getRandomValue();
- resolve(user);
- }, getRandomValue(1000));
- });
- }
- function getUserMailCount(user) {
- return new Promise(function(resolve, reject) {
- var id = user.id;
- if (id === undefined) {
- reject('нет данных');
- }
- setTimeout(function() {
- user.mailCount = getRandomValue(id);
- resolve(user);
- }, getRandomValue(1000));
- });
- }
- function getUserAccess(user) {
- return new Promise(function(resolve, reject) {
- var id = user.id;
- if (id === undefined) {
- reject('нет данных');
- }
- setTimeout(function() {
- user.access = getRandomValue(id) % 2 === 0;
- resolve(user);
- }, getRandomValue(1000));
- });
- }
- getUserId({})
- .then(function(user) {
- return getUserMailCount(user);
- })
- .then(function(user) {
- return getUserAccess(user);
- })
- .then(function(user) {
- console.log('последовательно');
- console.log(user);
- });
- getUserId({})
- .then(function(user) {
- return Promise.all([getUserMailCount(user), getUserAccess(user)]);
- })
- .then(function(users) {
- console.log('параллельно');
- console.log(users[0]);
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement