이 글에서는 주로 ES6 Promise 확장의 Always 방식을 소개합니다. 편집자가 꽤 좋다고 생각해서 지금 공유하고 참고용으로 올려보겠습니다. 편집자를 따라가서 모두에게 도움이 되기를 바랍니다.
ES6에는 성공 시 처리되고 실패 시 catch되는 Promise 개체가 추가되었습니다. 그러나 때로는 로드 숨기기, 로그 기록 등 성공 여부에 관계없이 작업을 수행해야 합니다. 브라우저 측 Ajax 요청을 예로 들어보겠습니다. 우리는 axios(Promise 기반)를 사용합니다.
axios.get("/").then(()=>{ //处理逻辑 ... console.log("请求结束") hideLoading(); }).catch(()=>{ console.log("请求结束") hideLoading(); })
이러한 코드는 매우 중복됩니다. 이때마다 jQuery가 조금 그리워집니다.
$.get("/").done(()=>{ //处理逻辑 }).always(()=>{ console.log("请求结束") hideLoading(); })
es6-promise-always는 ES6 기능의 확장으로 항상 지원하고 노드와 브라우저를 모두 지원합니다.
사용
1.
npm install es6-promise-always --save
설치 2.
require("es6-promise-always") axios.get("/").then(()=>{ //处理逻辑 }).always(()=>{ console.log("请求结束") hideLoading(); })
always(data, error)
data:solve를 사용하여 데이터 소개.
오류: 데이터를 거부합니다.
Tips
이로 인해 프로그램이 두꺼워질 수 있으니 걱정하지 마세요! es6-promise-always는 매우 작습니다. Always를 처음 구현하기 시작했을 때, 잘못된 방향으로 가고, 길을 잃었다는 것을 알게 되었습니다. Github 주소 : https://github.com/wendux/es6-promise-always
관련 추천 :
위 내용은 ES6 Promise 확장 항상 메소드 인스턴스에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!