promise 반전 함수 적용
1756 단어 ES6
이런 플러그 인 은 사실 한 층 밖 에 없어 서 플러그 인 이 라 고 할 수 없 지만, 많은 경우 에 우 리 는 상술 한 비동기 코드 의 결 과 를 다시 비동기 로 다른 결 과 를 얻 은 다음 에 이전 비동기 결과 에 따라 다른 결 과 를 얻는다. 만약 에 세 번 의 데이터 결 과 를 얻 으 려 면 두 번 더 플러그 인 을 해 야 한다. 그러나 큰 항목 에서 다섯 번,8 번, 심지어 더 많은 것 이 있 을 수 있 습 니 다. 그러면 우 리 는 겹겹이 끼 워 넣 어야 합 니 다. 이렇게 여러 번 끼 워 넣 는 것 은 프로그래머 에 게 유지 코드 가 매우 불편 합 니 다. 가 독성 (사람의 눈 으로 읽 을 수 있 음) 으로 볼 때 매우 힘 들 기 때문에 이때 ES6 의 promise 함수 가 탄생 했 습 니 다. 그 는 전문 적 으로 이런 끼 워 넣 는 것 입 니 다.
var fs = require('fs');
function Pget (pathname){
return new Promise(function (resoloved,rejected) {
fs.readFile(pathname, 'utf8', function (error, data) {
if (error) {
rejected(error);
} else {
resoloved(data);
}
});
});
}
Pget('./a.text')
.then(function (data) {
console.log(data);
return Pget('./b.text');
})
.then(function (data) {
console.log(data);
return Pget('./c.text')
})
.then(function (data) {
console.log(data);
});
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
(Javascript) ES6의 주요 특징 정리let을 사용하면 선언한 변수는 블록안에서만 유효하게 된다. const 역시 마찬가지로 블록스코프를 따른다 .const 와 let의 차이점은 const 는 상수로 값을 할당한다는 점이다. 따라서 값을 변경시키려고 하...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.