줄마다 한 줄씩 실행되는 생성자에서 약속 함수를 만들고 결과가 다음 줄로 나갈 때까지 기다릴 수 있습니까? 현재 내 약속 기능이 실행되지 않고 마지막으로 실행됩니다. 위의이오닉 3 생성자에서 약속 할 fun을 만듭니다.
constructor(){
console.log("Start");
this.getData();
console.log("End");
}
getData() {
return new Promise(data => {
this.db.database.ref().child('/category').orderByChild('parent_id').
equalTo(this.idn).once('value').then(function (snapshot) {
console.log("Mid")
})
});
}
출력 GetData의 기능이, 약속을 반환이를 해결과
constructor(){
console.log("Start");
this.getData().then(function (snapshot) {
console.log("End");
})
}
프로그램이 먼저 완료 될 때까지 기다리는 방법이 있습니까? –
".then()"방법은 다른 답변에서 제시하는 것과 같습니다. 귀하의 예제에서 데이터가 페치 된 이후에 일어날 일은 반드시 .then() 메소드를 사용하여 수행해야합니다. – realharry
실제로 내 주요 문제는'then()'메소드에서'this.key = 2; '와 같은 값을 할당 할 수 없다는 것이므로 오류가 발생하여 프로그램 대기를 게시하는 이유입니다. –