async/await
async/awaitの基礎
参考にする。
非同期キー
async
非同期関数をasync関数にするためにfunction()の前にasync
キーワードを追加します.async function()
は、await
キーワードが非同期コードを呼び出すことを可能にする.function hello() { return "Hello" };
hello();
ここにasync
を貼ると、async function hello() { return "hello" };
hello();
は、Promise
を返します.
Promise?
参考2-Promiseとは何ですか?
燒Promiseは主にサーバから受信したデータを画面に表示するために使用される.$.get('url 주소', function(response) {
// ...
});
APIを使用してサーバにデータを要求すると、画面にデータを表示しようとすると、データが受信されていないかのようにエラーが発生します.そこで、Promiseを使用してこれらの問題を解決します.
Promise's 3 States
璻Promiseには3つの状態(=Promiseの処理過程)がある.
function hello() { return "Hello" };
hello();
async function hello() { return "hello" };
hello();
$.get('url 주소', function(response) {
// ...
});
new Promise();
// 호출할 때, 다음과 같이 콜백함수를 선언할 수 있고
// 인자로는 resolve, reject를 받는다.
new Promise(function(resolve, reject){
// 함수 내용
});
new Promise(function(resolve, reject){
// 콜백 함수의 인자 resolve를 실행하면 Fullfilled 상태가 된다.
resolve();
});
function getData(){
return new Promise(function(resolve, reject){
var data = 100;
resolve(data);
});
}
getData().then(function(resolvedData){
console.log(resolvedData);
});
new Promise(function(resolve, reject){
reject();
});
function getData(){
return new Promise(function(resolve, reject){
reject(new Error("Request failed"));
});
}
getData().then().catch(function(err){
console.log(err);
});
let hello = async function() {return "helloo"};
hello();
//화살표 함수를 이용한다면
let hello = async() => {return "he11o"};
//실제로는 fulfill Promise가 반환되기 때문에
//반환된 값을 사용하기 위해 .then() 블럭을 사용한다
hello().then((value) => console.log(value))
//짧게는
hello().then(console.log)
非同期キー
非同期関数が
await
キーワードとともに使用される場合、Promiseが完了するまで中断し、結果を返します.その後、他の実行待ちコードを停止するのではなく、実行を続行します.async function hello(){
return greeting = await Promise.resolve("hello");
};
hello.then(alert());
参考にする。Reference
この問題について(async/await), 我々は、より多くの情報をここで見つけました https://velog.io/@ntbij29/asyncawaitテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol