約束!じゃないです。Promise非同期処理!
2020-02-04
2020-02-04
前置き
皆さん!こんにちは!
久しぶりですね。遅くなりまして、、、、、す、、、すみません!
ワンです!
色々、生活に慣れるため遅くなりました!
以上、言い訳でした。🙇♂️
では!今回はJavascriptで、とても!有効に使える【Promise】について説明します!
さっさと、はじめましょうか!
Promiseというのは?
???:ワンさん、まずJavascriptのPromiseって何のか、簡単な説明をお願いいたします。
ワン:はい!
。。。🙄
Promiseというのは基本Javascriptで「非同期処理」に使われる「Object」です!
非同期処理は「リクエストとレスポンスにおいて同期化の順序に束縛されずに、処理の順序を変えれる」という長所があります。
では、一旦やってみましょうか!
内容
Promiseには、三つのstateがあります。
- Pending(待機) : 非同期処理のロジックがまだ完了されない状態
- Fulfilled(履行) : 非同期処理が完了されて、Promiseより結果を返還した状態
- Rejected(失敗) : 非同期処理の失敗または、エラーが発生した状態
まず、Promiseの基本系です。
1. 待機
```
new Promise(function ( resolve, reject )) {
//ここはfunction()~
};
```
2. 履行
```
new Promise(function ( resolve, reject )) {
resolve();
};
```
ここで、resolve()を実行すると「履行」の状態になります。
もっと、具体的な例を挙げます。
```
function Friday() {
return new Promise(function (resolve, reject) {
var today = '金曜日'
resolve(today);
});
}
// Promiseでresolve()された結果をresolved_valueでもらいます。
Friday().then(function (resolved_value) { console.log('i like ' + resolved_value);
// i like 金曜日
});
```
resolve()後は、then()を通じて結果をもらって次の処理を続けます。
3. 失敗
Promiseはreject()を通じて、失敗する時の処理も可能です。
```
new Promise(function (resolve, reject) {
reject(); //失敗
});
```これを、catchでエラーもらえます。
```
function Monday() {
return new Promise(function (resolve, reject) {
reject(new Error("月曜日午前8時"));
});
}
// reject()の結果 Errorを mondayでもらいます。
Monday().then().catch(function (monday) {
console.log('エラー : ' + moday);
// エラー : 月曜日午前8時
});
```これで、Promiseの説明が終わりました。
最後に。。。
簡単な例を挙げます。ex) 簡単なPromise
```
ex) Promise Chaning「複数のPromiseを使う」
```
では、最後にPromiseのロジックを添付して終わります。

出所:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise
皆さん、お疲れ様でした!
では、また今度!