javascript promise 예제

.finally(f)라는 호출은 약속이 해결될 때 항상 실행된다는 의미에서 .then(f, f)과 비슷합니다. 따라서 훌륭한 모범이 제공된다면 약속을 이해하는 것은 그리 어렵지 않습니다. 기본 제공 함수 setTimeout은 콜백을 사용합니다. 약속 기반 대안을 만듭니다. 관측 은 쉽게 더 펑키 물건을 할 수 있습니다. 예를 들어 한 줄의 코드만 사용하거나 다시 시도하여 특정 횟수의 호출을 다시 시도할 수 있도록 함수 추가를 3초 지연합니다. 새 Promise() 생성자는 setTimeout 또는 XMLHttpRequest 사용과 같은 레거시 비동기 작업에만 사용해야 합니다. 새 Promise는 새 키워드로 만들어지며 약속은 제공된 콜백에 대한 해결 및 거부 기능을 제공합니다. 약속을 반환하는 것이 가장 좋을 것이므로 주어진 기능에서 나오는 약속을 항상 믿을 수 있습니다. 이 경우 새 키워드를 사용하지 않고 Promise.resolve() 또는 Promise.reject()를 호출하기만 하면 됩니다. 예: 자바 스크립트 약속 예제 자습서. 자바 스크립트는 단일 스레드 스크립팅 언어입니다.

모든 순서로 발생, 그것은 라인별로 기록됩니다. 그러나 비동기 연산은 완료된 순서대로 발생합니다. 이벤트는 키업, 터치 스타트, 마우스 오버 등과 같은 동일한 개체에서 여러 번 발생할 수있는 일에 매우 좋습니다. 이러한 이벤트를 사용하면 수신기를 연결하기 전에 어떤 일이 일어났는지 신경 쓰지 않습니다. 그러나 성공 /실패의 비동기 동작에 관해서, 콜백 기능은 약속만큼 도움이되지 않습니다. 예. .then()에서 정의하는 성공 처리기는 두 번째 요청을 실행하고 일반 값이 아닌 두 번째 요청의 Promise를 반환할 수 있습니다. 여기 MDN에 예제를 참조: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/then#Chaining 스포일러 경고: 있다. 그래서, 약속은 무엇이며, 우리가 분명히 이 모든 시간을 만들어 온 혼란에서 어떻게 우리를 얻을 수 있을까요? 자바 스크립트 약속은 간단한 구독 목록보다 더 복잡하기 때문에 다음과 같은 비유가 매우 정확하지 않습니다 : 그들은 추가 기능과 제한 사항이 있습니다 : 나는 약속을 배우는 동안 정말 도움이 발견 몇 가지 기사입니다.

하지만 처음에는 괜찮습니다. 최신 웹 개발 기술에서는 비동기 작업을 처리해야 합니다. 기본적으로 약속은 다음과 같은 것을 제외하고는 이벤트 리스너와 약간 비슷합니다. 그러나 더 자주 약속이 지원되고 응용 프로그램에서 사용하는 다른 라이브러리로 구워지는 것을 볼 수 있습니다. 예를 들어, 데이터베이스 스키마를 설정하는 데 도움이 되고 자체 SQL 쿼리를 작성하는 무시무시한 작업에서 우리를 저장하는 속편화는 데이터베이스 작업으로 약속을 지원하므로 이러한 작업을 나타내는 변수인 것처럼 취급할 수 있습니다. 약속 (그들이 있기 때문에). 꽤 좋은. 약속하기 전에는 이벤트와 콜백 함수가 사용되었지만 기능이 제한되어 있고 관리할 수 없는 코드를 만들었습니다. 여러 콜백 함수는 관리할 수 없는 코드로 이어지는 콜백 지옥을 만듭니다.