TIL]JavaScript-同期/非同期、promise
6223 ワード
🌼 Promise
promiseは、JavaScriptで非同期処理に使用されるオブジェクトです.promisを使用すると、非同期プログラミングを同期プログラミングで処理できます.
promise
:承諾には3つの状態があります.promiseオブジェクトは、解析または拒否されたときに実行されるコールバック関数をパラメータとして受け入れるexecutorというコールバック関数を渡さなければなりません.待機
完了
// 1.Producer
const promise = new Promise((resolve, reject) => {
//doing something heavy work (network,read files...)
console.log('doing something');
setTimeout(() => {
// resolve('ellie);
reject(new Error('no network'));
}, 2000);
});
/* 2. Consumer: then, catch, finally
then은 promise 객체가 resolve된 결과 값을 다룰 때 사용한다.
catch는 promise 객체가 reject된 결과 값을 다룰 때 사용한다.
성공, 실패와 상관없이 무조건 마지막에 실행되는 값을 다를 때 사용한다. */
promise
.then(value => {
console.log(value);
})
.catch(error => {
console.log(error);
});
.finally(value => {
console.log('finally');
});
🌼 Promiseオブジェクトの利用(取得)
サーバと通信する際に使用されるfetch()関数は、1番目のパラメータをURLとし、2番目のパラメータをオプションのオブジェクトとする(方法:POST、GET、DELETE...)受信後、通信結果に基づいてPromiseタイプのオブジェクトを返します.
/* fetch 함수는 서버로부터 데이터를 주고 받을 때 사용하는 함수이다.
method로 GET을 사용할 경우, 생략이 가능하다. */
function logName() {
fetch('http://example.com/movies.json', {
method: "GET"
})
.then(res => res.json())
.then(data => console.log(data));
}
ソース-YOUTUBE(DREAMコード)Reference
この問題について(TIL]JavaScript-同期/非同期、promise), 我々は、より多くの情報をここで見つけました https://velog.io/@link717/TIL-JavaSript-asyncawait-promiseテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol