
공통점
둘다 비동기 작업을 표현함
차이점
- 언어레벨
promise: js 런타임에 내장된 비동기 제어 객체, 자동으로 이벤트 루프 등록되고 완료되면 콜백 실행
coroutine: phthon 언어 차원에서 제공하는 제어 구조. 스스로 실행 x (비동기 함수의 실행 컨텍스트)
- 자동 실행 여부
promise: 생성되자마자 자동으로 실행
coroutine: 생성만 되고 await나 asyncio.run()으로 실행해야함
- 역할 범위
promise: 결과값이나 에러를 전달하는 통일된 객체
coroutine: 실행을 중단/재개할 수 있는 함수 객체
# Python
async def foo():
return 10
result = foo() # 이건 실행이 아님! 코루틴 객체를 리턴함
print(result) # <coroutine object foo at ...>
# 실행하려면 await 이나 asyncio.run 필요
import asyncio
print(asyncio.run(foo())) # 10
// JavaScript
async function foo() {
return 10;
}
const result = foo(); // 바로 Promise 객체
console.log(result); // Promise { <pending> }
result.then(console.log); // 자동으로 스케줄되어 10 출력
'데이터 분석 > 데이터 수집' 카테고리의 다른 글
| playwright, aiomysql (0) | 2025.10.21 |
|---|---|
| mysql (mysql-connector-python) (0) | 2025.10.21 |
| requests (0) | 2025.10.17 |
| BeautifulSoup (0) | 2025.10.15 |
| sql 문제 풀이 (0) | 2025.10.14 |