ES6에서는 콜백 지옥의 문제를 해결하기 위해 Promise가 출시되었습니다. Promise는 말 그대로 Promise를 의미합니다. Promise를 소개하는 많은 기사는 사람들을 첫눈에 어리둥절하게 만드는 종류입니다. 나 자신에 대해 이야기해보자. 약속이란 정확히 무엇인가?
Promise는 객체입니다(많은 사람들이 '말도 안되는 소리를 하고 있습니까? js의 모든 것이 객체입니다'라고 말할 것입니다). . .
Promise는 객체 내부에서 호출되는 객체입니다. 이를 작성하는 가장 일반적인 방법은 다음과 같습니다.
function GetPromise(someting){
let p = new Promise(resolve,reject) //dosometing
resolve(str);
reject(str)
} return p
}
로그인 후 복사
이것은 Promise를 생성하고 사용하는 가장 일반적인 방법이며 호출 방법은
GetPromise(somgting).then(function(){}).catch(function(){})
로그인 후 복사
입니다. 이때 많은 사람들이 저를 욕할 것입니다. 그러면 무엇이 잡히고, 결단은 어디서 오는지, 거부는 어디서 오는 것인지, 처음 접했을 때 이 문제에 대해 고민하고 있었습니다. 온라인으로 검색해도 아무도 제대로 말해주지 않더군요. 이제 가장 간단하게 설명하겠습니다. 그런 다음 성공 콜백이고 catch는 예외 콜백이므로 모두가 이해할 수 있습니다. 코드를 작성할 때 반드시 판단을 사용하게 됩니다. 예를 들어
if(a=1){
alert('我好帅啊‘)
}else{
alert('我怎么这么帅’)
}
로그인 후 복사
는 a를 판단하여 트리거할 문을 결정합니다. Promise는 바로 이 고급 작성 방법으로 내부적으로 제공되는 해결이 바인딩되어 있으며 거부가 발생합니다. Promise 객체를 인스턴스화할 때 어떤 콜백이 언제 트리거되어야 하는지 내부에서 결정합니다. 실제로 사용할 때 특정 콜백을 바인딩하고 포착합니다. 비동기 작업을 수행하기 위해 Promise를 사용할 때 모든 성공적인 콜백을 해결로 추상화하고 실패 콜백을 거부로 추상화합니다. 실제 호출에서는 then과 catch'를 통해 특정 콜백 함수를 바인딩하는데, 이는 물론 더 우아하고 추상적입니다. Promise에 메서드가 있지만 시작하는 방법만 요약하고 싶습니다. 아무리 복잡해도 설명하지 않겠습니다.
위 내용은 ES6 Promise에 대한 간략한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!