Future Api - GlobalMediaBridge/cosmetic-server GitHub Wiki
Future
μΌλ°μ μΌλ‘ ν¨μλ₯Ό μννλ©΄ returnμ κ²°κ³Όλ₯Ό λ°μ μ μλ€.
int square(int x) {
return x * x;
}
ν¨μ square
λ μ
λ ₯λ°μ κ° xλ₯Ό μ κ³±ν΄μ λ°ννλ€κ³ ν΄λ³΄μ.
void main(){
int result = square(2);
}
μ΄λ°μμΌλ‘ ν¨μλ₯Ό νΈμΆνλ©΄ μ¦μ κ°μ λ°ννλ€. νμ§λ§ λ§μ½μ square
ν¨μκ° μ€λ걸리λ μμ
μ΄λΌκ³ νλ€λ©΄ μ΄ ν¨μκ° λλ λ λ€λ₯Έ μμ
μ ν μ μμ κ²μ΄λ€. λͺ¨λ°μΌ μ΄ν리μΌμ΄μ
μ΄λ μΉ μ΄ν리μΌμ΄μ
μ κ²½μ° νλ©΄μ΄ λ³΄μ΄κ³ μ¬μ©μμ μΈν°λ μ
μ΄ μ΄λ£¨μ΄μ§κΈ° λλ¬Έμ μ΄λ€ μμ
μ μννλ λμ νλ©΄μ΄ λ©μΆκ² λλ€λ©΄ ν° λ΅λ΅ν¨μ λλΌκ² λ κ²μ΄λ€. μ΅μν ν΄λΉ μμ
μ΄ μ§νλλ λμ λ‘λ© νλ©΄μ΄λΌλ 보μ¬μ£Όμ΄μΌνλ€. μ¦ λ‘λ© νλ©΄μ΄λ κΈ°ν λ€λ₯Έ λμμ μννκΈ° μν΄ μ€λ걸리λ μμ
μ μ§μ μ²λ¦¬νμ§ μλλ‘ νλ€.
μ€λ걸리λ μμ
μ μ§μ μ²λ¦¬νμ§ μκ³ Future
μκ² λμ μ²λ¦¬νλλ‘ λ§‘κΈΈ μ μλ€. νλ‘κ·Έλ¨μ Futureμκ² μμ
μ μμνλΌκ³ μ§μνλ©΄ Futureκ° μμμ μμ
μ λ§μΉ λ€ νλ‘κ·Έλ¨μκ² μμ
μ΄ λ§μ³€μμ μ리λ λ°©μμ΄λ€.
λλΆλΆμ apiμμ μ€λ걸리λ μμ
μ Future
λ₯Ό μ΄μ©ν΄μ λ§λ€μ΄μ‘λ€. μ°λ¦¬λ Future
λ₯Ό λ§λλ λ°©λ²λ³΄λ€ Future
λ₯Ό μ¬μ©νλ λ°©λ²μ μ§μ€ν΄λ³΄κ² λ€.
Future
λ₯Ό μ΄μ©νλ ν¨μ futureSquare
κ° μλ€κ³ νμ. μ΄ ν¨μλ νλΌλ―Έν°λ‘ λκ²¨μ€ κ°μ μ κ³±ν΄μ μμ
μ΄ λλλ©΄ νλ‘κ·Έλ¨μκ² μλ €μ€λ€. μ΄ ν¨μλ μλμ κ°μ΄ μ¬μ©ν μ μλ€.
void main(){
int result = futureSquare(2);
}
futureSquare
ν¨μμ κ²°κ³Όκ°μ νλΌλ―Έν°λ‘ λκ²¨μ€ κ°μ μ κ³±ν κ²°κ³Όκ° μλλΌ ν΄λΉ μμ
μ΄ λλ¬λμ§μ λν future
κ°μ΄λ€. μ΄ future
κ° μμ μ€μ κ²°κ³Όκ° κ°μΈμ Έ μλ€. μ€μ κ²°κ³Όλ₯Ό κΊΌλ΄μ£ΌκΈ° μν΄μλ async
await
μ μ¬μ©νλ€. ν΄λΉ ν¨μκ° νΈμΆλλ ν¨μμ async
ν€μλλ₯Ό λΆμ΄κ³ future
κ° λ°νλλ κ³³ μμ await
μ λΆμ¬μ£Όλ©΄ λλ€.
void main() async {
int result = await futureSquare(2);
}