프로그램들이 서로 소통하는 방법 , (인간이 아닌) 코드들끼리 서로 소통하기 위해 만들어짐
우리가 키보드로 컴퓨터와 대화를 하는 것처럼 API는 키보드처럼 서버에서 만든 것, 그리고 API가 작동하면 그걸 앱이나 웹에 전달 (백엔드 데이터베이스, 서버로 가서 알려줌)
Ex) 날씨 api, web api,
가장 일반적인 방법으로 API 요청을 수행하는 것이다. 코드가 순차적으로 실행되며, 요청과 응답이 처리될 때까지 다음 코드로 진행되지 않는다.
function fetchUserData(userId) {
const response = fetch(`https://api.example.com/users/${userId}`);
const userData = response.json();
return userData;
}
function displayUserName(userId) {
const user = fetchUserData(userId);
console.log(user.name);
}
displayUserName(123);
console.log("End of script");
위 코드에서 fetchUserData
함수가 API 요청을 하고 응답이 올 때까지 대기한다. 따라서 displayUserName
함수에서 fetchUserData
함수가 완료될 때까지 아무 작업도 수행되지 않는다. 결과적으로 출력은 다음과 같다:
Alice (user's name)
End of script
따라서 API호출을 동기로 처리한다면 다음과 같은 문제가 생긴다.