이 기사의 내용은 Promise가 Ajax를 어떻게 캡슐화하는지에 관한 것입니다. Ajax를 캡슐화한 Promise 구현 방법은 참고할만한 가치가 있으니 도움이 필요한 친구들이 참고하면 좋겠습니다.
먼저 코드 게시
var ajaxOptions = { url: 'url', method: 'GET', async: true, data: null, dataType: 'text', } function ajax(protoOptions) { var options = {}; for(var i in ajaxOptions){ options[i] = protoOptions[i] || ajaxOptions[i]; } return new Promise(function(resolve, reject){ var xhr = new XMLHttpRequest(); xhr.open(options.method, options.url, options.async); xhr.onreadystatechange = function() { if (this.readyState === 4 && this.status === 200) { resolve(this.responseText, this); } else { var resJson = { code: this.status, response: this.response } reject(resJson, this) } } xhr.send() }) }
댓글:
1, open (메서드, URL, 비동기)
메서드: GET 및 POST
url: 서버로 전송된 URL
비동기: true, synchronous false;
2, onreadystatechange
ReadyState의 값이 변경될 때마다 onreadystatechange 함수가 자동으로 실행됩니다.
3, ReadyState 상태 정보 서버 응답#🎜 🎜#
#🎜 🎜## 🎜🎜#
2: 요청 수신됨#🎜🎜 #4 : 요청이 완료되고 응답이 준비됨
ReadyState의 값이 4이고 상태가 200이면 해당 메소드가 준비되었음을 의미합니다. 성공적으로 호출된 메소드가 실행될 수 있으며, 그 반대의 경우도 마찬가지입니다.
위 내용은 약속은 어떻게 Ajax를 캡슐화합니까? 약속 캡슐화 Ajax 구현 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!