반응형

async 3

자바스크립트 Promise 객체, async 및 await 개념 정리 예제

javascript에서 비동기 처리를 하는 과정에서 필수적인 개념인 Promise 객체, async 및 await의 개념들을 간단한 예시를 통하여 이해를 해보는 시간을 가져보도록 하겠습니다. Promise 객체 Promise는 자바스크립트에서 비동기 작업을 표현하는 객체입니다. 비동기 작업이 완료된 후에 요청이 성공하면 결과값을 반환해주고, 실패한 경우에는 이유를 처리할 수 있는 방법을 제공하는 원리입니다. 해당 객체는 세 가지 상태를 가질 수 있는데요. 아직 요청을 처리하고 있는 중이라면 pending, 요청의 결과값을 성공적으로 받았다면 fulfilled, 요청이 실패하였다면 rejected의 상태를 가지게 됩니다. Promise 객체의 선언 방식은 다음과 같이 정리할 수 있습니다. const pro..

TypeError: object async_generator can't be used in 'await' expression 해결 방법

오류 개요 Python의 generator 중 async로 구현된 경우가 있습니다. 이 경우 단순히 await로 데이터를 가져오려고 시도하면 에러가 발생합니다. async_gen = AsyncGenerator() data = await async_gen # TypeError: object async_generator can't be used in 'await' expression 디버깅 방법 다음과 같이 .__anext__() 기능을 활용하면 비동기로 구현된 generator에서 데이터를 순차적으로 가져올 수 있습니다. async_gen = AsyncGenerator() data = await async_gen.__anext__()

Python/Debugging 2024.03.08

파이썬 class __init__에서 async로 변수 초기화 하는 방법

Python에서 클래스를 구현할 때, 선언부인 __init__에서 비동기 함수에서 변수를 가져와 초기화하고 싶은 경우가 있습니다. 이 경우, __init__은 async로 직접 구현은 불가하지만, 이를 우회할 수 있는 방법이 있어 간략하게 정리해보도록 하겠습니다. __init__에서 비동기 선언이 필요한 코드 예시 다음과 같은 class가 있다고 가정해보도록 하겠습니다. 여기에서는 class의 value 속성에서 필요한 값을 불러와야 합니다. ### async def load_from_some_async_function(): # 비동기 함수를 불러와야 하는 상황 # do something ### class AsyncInitClass: def __init__(self): # async가 불가능! self...

Python/Utils 2024.02.20
반응형