2017-03-29 2 views
0

첫 번째 함수에서 Promise를 종료하면 약속 결과를 얻으 려합니다 (topromise). 그러므로 아래에서 볼 수 있듯이 getpromise 함수에서 값을 얻으려고 마지막으로 값을 가진 또 다른 Promise.resolve (pageData)를 생성합니다.다른 비동기 함수에서 promise resolve 결과 받기

function topromise(param){ 
 
    let pageData; 
 
    new Promise((resolve, reject)=>{ 
 
    resolve(param) 
 
}) 
 

 
.then((value)=>{ 
 
    console.log(value) 
 
    return "hola" 
 
}) 
 

 
.then((value)=>{ 
 
    console.log(value) 
 
    pageData= "bon jour" 
 
    return getpromise(Promise.resolve(pageData)) 
 
}) 
 

 
} 
 

 

 
topromise("hello") 
 

 
function getpromise(value){ 
 
    .then(value=> console.log(value)) 
 
    //I want to get the pageData result from resolve 
 
}

+0

당신이 더 합리적 일에 스 니펫을 업데이트하십시오 수 있습니다. 이 순간이 바로'function toPromise() {return Promise.resolve ("bon jour")}'로 바뀔 것입니다. 당신의 시도를 위해 :'pageData'를 이렇게 사용하면 효과가 없습니다; 비동기이기 때문에. 당신은 실시간으로 거래를했습니다. 약속이 없으면'pageData'가 실제로 어떤 값을 포함하는지 알 수 없을 것입니다. – Thomas

+0

getpromise 메서드 본문이 맞습니까? –

답변

1

귀하의 topromise() 함수는 return하고 getpromise 기능이없는 것은 메서드 호출의 중간에 시작하는 것 같다

내 코드입니다.

당신이하려는 일은 매우 분명하지 않지만 어쩌면 당신은 이와 같은 일을 할 것입니다. 이 노력 코드 :

function topromise(param){ 
 
    let pageData; 
 
    
 
    return Promise.resolve(param) 
 
    .then((value)=>{ 
 
    console.log(value) 
 
    return "hola" 
 
    }) 
 
    .then((value)=>{ 
 
    console.log(value) 
 
    pageData = "bon jour" 
 
    return pageData; 
 
    }) 
 
} 
 

 

 
getpromise(topromise("hello")) 
 

 
function getpromise(value){ 
 
    value 
 
    .then(result => console.log(result)) 
 
}

관련 문제