자바 스크립트 약속

|

비동기 코드는 JavaScript로 작성하는 데 문제가 있었습니다. 코드에서 비동기 작업을 작성하려면 여러 수준의 콜백을 처리해야 합니다. 코드에 더 많은 기능을 추가할수록 읽기가 더 어려워집니다.

SS6에서는 약속이 구출되었습니다. 프라미스는 JavaScript에서 비동기 코드를 효율적으로 작성하는 한 가지 방법입니다.

이 가이드에서는 프라미스가 무엇이고 어떻게 작동하는지에 대해 이야기할 것입니다. 코드에서 사용하는 방법을 배우는 데 도움이 될 것이라고 약속하는 예제를 볼 것입니다. 시작해 봅시다!

약속이란 무엇입니까?

약속은 미래에 받고 싶은 응답을 반환하는 객체입니다.

좋습니다. JavaScript 약속을 생각하는 방법은 사람들이 약속을 하는 방식과 비교하는 것입니다. 약속을 하면 나중에 하겠다는 약속입니다. 당신은 지금 이 일을 하지 않을 것입니다. 나중에 이 작업을 수행합니다.

프라미스는 세 가지 상태 중 하나에 존재할 수 있습니다.

  • 보류 중: 프라미스가 존재하지 않았습니다. 아직 완료
  • 거부됨. Promise는 값을 반환할 필요가 없습니다.
  • Fulfilled. 약속이 이루어졌습니다.

실제 약속과 비슷합니다. 당신은 미래에 지킬 특별한 약속을 가질 수 있습니다. 약속을 지킬 수 있습니다. 약속을 거부하거나 "파기하고 약속한 것을 지키지 않을 수 있습니다.

약속을 하면 보류 상태가 됩니다. 약속은 응답이 수신될 때까지 이 상태로 존재하며 약속이 이행되거나 거부됩니다.

프라미스가 거부되면 catch의 내용 () 선언이 실행될 것입니다.

우리가 공동으로 실행할 때 어떤 일이 일어날지 봅시다. de:

cinnamon

cinnamon 약속이 성공적으로 해결되었기 때문에 반환된 값입니다. "name"의 값이 약속에서 "Cinnamon"이 아니면 오류가 반환됩니다.

Not Detected(in promise) This promise에는 없습니다

<. p> "이 약속은 실패했습니다."라는 오류 메시지를 지정했습니다. " 우리 promise의 require() 함수에서.

finally () with promise

Promise가 실행되었는지 여부에 관계없이 코드 블록을 실행하려면 어떻게 합니까? 약속 성공 또는 실패

>

last () 문이 편리한 위치입니다. last() 문은 promise가 승인되었는지 여부에 관계없이 실행됩니다. 마지막 날에 우리의 약속이 마침내 다음 문장을 사용하도록 합시다:

우리의 코드는 다음을 반환합니다.

Cinnamon

returnName 약속이 실행되었습니다.

약속 문 cinnamon 성공했기 때문입니다. 그런 다음 finally () 문의 내용이 실행되어 콘솔에 메시지를 반환합니다.

결론

JavaScript를 사용하면 고유한 코드를 작성할 수 있다고 약속합니다. asynchronously .

이 가이드에서는 약속의 기본 사항을 다뤘습니다. 이 가이드에서 다룬 더 많은 약속이 있습니다. 학습 여정의 다음 단계는 코드에 몇 가지 약속을 작성하는 것입니다.

여기에 과제가 있습니다. 웹 요청을 하고 응답을 반환하는 약속을 작성하십시오. 이렇게 하려면 fetch () API를 사용하여 요청해야 합니다. 이 요청은 약속에 포함되어야 합니다. 성공과 실패 모두를 처리하는 코드를 작성해야 합니다.

더 자세히 알아보려면 JavaScript를 확인하세요. async 작동합니다. 비동기 코드를 작성하는 데 사용할 수 있으며 일반적으로 promise와 함께 사용됩니다.

이제 전문가처럼 JavaScript Promise 작성을 시작할 준비가 되었습니다!

p>

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method