JS 는 Promise 방식 으로 리 셋 함수 의 리 턴 값 을 가 져 옵 니 다.
function A(params, callback){
callback(params+1)
}
function B(num1){
A(num1, (num)=>{
return num;
});
}
let a = 3;
let num = B(a);
console.log(num) //undefined
위의 코드, B 함 수 는 A 함 수 를 호출 했 습 니 다. A 함 수 는 하나의 매개 변수 와 하나의 반전 함 수 를 받 았 습 니 다. A 의 반전 함 수 는 num 을 되 돌려 주 었 지만 외층 console 의 num 은 undefined 입 니 다.
한 가지 방법 은 후속 적 인 조작 을 모두 A 의 반전 함수 에 넣 는 것 이다.
function A(params, callback){
callback(params+1)
}
function B(num1){
A(num1, (num)=>{
console.log(num) //4
return num;
});
}
let a = 3;
let num = B(a);
//console.log(num)
그런데 이렇게 하면 B 함수 가 다시 사용 하기 어려워 요.
Promise 로 돌아 가 는 방법 도 취 할 수 있어 요.
function A(params, callback){
callback(params+1)
}
function B(num1){
return new Promise((resolve, reject)=>{
A(num1, (num)=>{
console.log(num) //4
resolve(num)
})
})
}
let a = 3;
let num = B(a).then((data)=>{
console.log(data) //4
});
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
전단 자동화 워 크 플 로 의 hooks예 를 들 어 우 리 는 git commt 전에 eslint 코드 검사, npm install 전에 프로젝트 의존 도 를 검사 하고 싶 습 니 다.전형 적 인 상황 에서 각종 도 구 는 특정한 동작 이 발생 할 때 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.