Как решение Promise пока не получено? - PullRequest
0 голосов
/ 23 февраля 2019

Как репо в выводе не определено, если обещание было выполнено.

вывод к коду:

чтение из базы данных ........

привет

репозитории: undefined

чтение из хранилища

getuser(1)
                .then( result =>{console.log('hello');getRepository(result.username)})
                .then( repos =>console.log('repos are :',repos));

связанные асинхронные функции

function getuser(id){
return new Promise((resolve,reject)=>{
    setTimeout(() => {
        console.log('reading from database........')
        resolve({id:id , username:"sunil"});
    }, 5000);
});

}

function getRepository(username){
return new Promise((resolve,reject)=>{
    setTimeout(()=>{
        console.log('reading from repository')
        resolve(['repos1','repos2','repos3']);  
    }
     ,3000);
})

}

Ответы [ 2 ]

0 голосов
/ 23 февраля 2019

ваш код должен быть

getuser(1)
          .then( result =>{console.log('hello');
                 return getRepository(result.username)})
          .then( repos =>console.log('repos are :',repos));
0 голосов
/ 23 февраля 2019

Ваш первый .then ничего не возвращает, поэтому он разрешается немедленно.Изменить на return getRepository(....

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...