개념: 자바 스크립트 약속 사용
간단한 약속
JavaScript를 작성하는 방법을 가르치는 것은이 문서의 목적이 아니지만 JavaScript를Promise
사용하는 방법을 이해하려면 간단한Promise
코딩 방법을 확인하는 것이 좋습니다.
다음에서는 작업이 완료되었는지 여부를 나타내는 문자열을 반환하는 가 만들어집니다. Promise
요점은Promise.resolve()
또는Promise.reject()
메서드 중 하나가 호출된다는 것입니다. 이 경우 간단한 문자열은 두 메소드 모두에 의해 전달되지만 객체 일 수 있습니다.
let promiseToFinishTask = new Promise(function(resolve, reject) {
//Business logic to set taskComplete boolean
let taskComplete = true;
if (taskComplete) {
resolve('Yea, I am done');
} else {
reject('Not quite done');
}
});
이제 일부 브라이트코브 플레이어 API 메서드 호출에서 반환된Promise
정보를 처리하는 방법을 살펴보겠습니다. 의 기본 처리는 다음과 같습니다.
promiseName.then(
// Function call for promise resolved
).catch(
// Function call for promise rejected
)
위의 간단한 예제를 처리하는 것은 다음과 같이 나타납니다.
promiseToFinishTask.then(function(fromResolve) {
console.log(fromResolve);
}).catch(function(fromReject) {
console.log(fromReject);
});
Promise
가 해결되면then
코드가 실행되고Promise
이 거부되면catch
코드가 실행됩니다. 예를 들어, 문자열 중 하나Yea, I am done또는Not quite done설정하는 비즈니스 로직을 기반으로 표시됩니다. taskComplete
변수의 값.
브라이트코브 예제
브라이트코브 플레이어의play()
방법은 플레이어가 현재 플레이어에 있는 비디오를 자동으로 재생할 수 있는지 확인하는 데 사용할 수 있는 Promise를 반환할 수 있습니다. 를 다루는 코드가 강조Promise
표시됩니다.
var myPlayer = videojs.getPlayer('myPlayerID');
myPlayer.on('loadedmetadata',function() {
var promise = myPlayer.play();
if (promise !== undefined) {
promise.then(function() {
// Autoplay started!
}).catch(function(error) {
// Autoplay was prevented.
});
}
});
이를 바탕으로 비디오가 자동 재생되는지 아닌지 비헤이비어를 코딩 할 수 있습니다. 가능한 경우 오디오와 함께 비디오를 재생하는 특정 사용 사례에 대해서는특정 사용 사례섹션자동 재생 고려 사항문서.
자바 스크립트 약속에 대한 자세한 내용은MDN 약속문서를 참조하십시오.
Promise
대 콜백
이 섹션에서는 Catalog get()
메서드가 콜백 함수 사용 간의 구문 차이를 보여 주는 데 사용됩니다. Promise
이get()
방법은 두 가지 방법 중 하나와 함께 사용할 수 있습니다.
약속 구문
다음은get()
메서드를 호출하여 응답을 로 처리하는 코드 스 니펫입니다Promise
.
myPlayer.catalog.get(catalogParams).then(function(videosReturned){
console.log('videosReturned',videosReturned);
myPlayer.playlist(videosReturned);
}).catch(function(errorObj){
console.log('errorObj',errorObj);
})
콜백 함수 구문
다음은 콜백 함수로 응답을 처리하는get()
메서드에 대한 호출을 보여주는 코드 조각입니다.
myPlayer.catalog.get(catalogParams,function(errorObj,videosReturned){
console.log('errorObj',errorObj);
console.log('videosReturned',videosReturned);
myPlayer.playlist(videosReturned);
});