약속을 처리하기 위해 돌아가서 .then()
으로 연결하십시오. 그러나 콜백을 기대하고 약속을 반환하지 않는 타사 라이브러리를 사용해야합니다. 명확성을 위해콜백 로직 기반 라이브러리 함수를 약속 체인에 통합하십시오.
, 가짜 예 :
person.sayHello()
.then(response => introduceMyself())
.then(name => externalLibrary.storeAndGetInfo(name))
.then(info => saySomeInfo(info))
.catch(err => console.log(err));
introduceMyself(){
return asyncFunctionToGetAndSayMyName();
}
sayDomeInfo(info){
console.log(info);
}
내 문제가 externalLibrary.storeAndGetInfo
이 PARAMS을 기대한다는 것입니다 :
storeAndGetInfo(string, callback(valueThatINeedForMyNextChainedFunction));
나는이 체인 가능 함수에서 외부 라이브러리 기능을 포장 할 수있는 느낌이 (하나는 약속을 반환), 그리고 the libraryq
을 사용하여 콜백 함수를 연기하고 해결하지만, 실제로 구현할 지 모르겠다. 아니면 다른 방법이 있습니까?
당신은 AA 이연 약속을 반환하는 함수로 외부 라이브러리의 호출을 래핑한다
을 Angular의 $ q 라이브러리] (https://docs.angularjs.org/api/ng/service/$q)를 사용하여 AngularJS 다이제스트주기와 통합됩니다. 외부 라이브러리로부터의 약속은 디버그 문제를 미묘하게 어렵게 만듭니다. – georgeawg