JavaScript로 약속의 개념이 생소했습니다. 다른 구성 요소에 API를 제공하는 앱이 있습니다.API에서 JavaScript 약속 사용
내 목표 : 비동기 작업에 대한 전통적인 콜백 기반 접근 방식 대신 Promises를 사용하고 싶습니다. 나는 아래의 예를 제시하고있다 :
requestCurrentPosition (correlationId, options)
현재이는 coorelation의 ID를 전달 비동기 작업입니다. 작업이 완료되면, 성공 또는 실패 콜백이 호출 할 수 있습니다
requestCurrentPosition (Promise, options)
이 올바른 방법입니다 :
failure(response, correlationId)
success(response, correlationId)
이 API는 이제 다음과 같이 리팩토링 할 것인가? 그렇다면 콜백 함수에 어떻게 통지됩니까? 그래서 같은 사용을 위해
var promise = requestCurrentPosition(options)
이 있습니다 :
대신 기능 _into_ 약속을 전달하는, 그것을 _return_. 그러면 발신자가 정상적으로 작동 할 수 있습니다. 그것은 jQuery가 다른 사람들과 함께하는 방식입니다. 실제로 jQuery는 콜백을 전달할 수 있고 약속을 반환하므로 둘 다 사용할 수 있습니다. 이전 버전과의 호환성을 위해 더 많은 동기 부여가 필요하다고 생각하면 새로운 API를 위해 둘 다 필요하지는 않습니다. – vlaz
"약속"을 요구하면 오히려 '약속'을 반환하고 소비자가 어떻게 사용할지 결정하게 할 것이라고 생각합니다. 아이디어를 보려면 [예제] (https://davidwalsh.name/promises)를 참조하십시오. –
당신의 예제에서 상관 ID 대신 함수에 약속을 전달할 이유가 명확하지 않습니다. 그 점을 분명히 해 주시겠습니까? – JLRishe