3
현재 약속/Q 라이브러리를 사용하는 코드를 리팩터링하는 방법을 정말 잘 이해하지 못하고 있습니다."콜백 피라미드"를 약속 기반 버전으로 리팩토링하는 방법
다음과 같은 일반적인 기본 예제를 생각해보십시오. 동일한 파일을 mongodb에 두 번 가져온 테스트 케이스가 있고 두 번째 가져 오기의 데이터 집합 이름 끝에 약간의 수정자가 있는지 확인합니다.
그래서 어떻게 할 것이 약속을 사용하여 :
importDataSet('myFile.csv',function() {
importDataSet('myFile.csv',function() {
DataSet.find({title: 1}, function (err, result) {
result.length.should.be.equal(2);
result[0].title.should.startWith('myFile');
result[1].title.should.startWith('myFile');
result[0].title.should.not.be.equal(result[0].title);
done();
});
});
});
done();
});
(최종 콜백가) (다)? 함수 시그니처를 변경하지 않고 (마지막 매개 변수로 콜백을 사용하는 규칙을 따랐습니다). done()
이 코드에서 두 번 호출되는 이유
감사합니다 :). –
수락 된 답변을 편집하는 것이 일반적으로 적절하지 않다고 생각합니다. 편집이 유효하다는 것을 확인할 수 있습니까? – Strawberry