記録

JavaScriptのPromise例えが分からない人のために。

自分は『Promiseってなんやねん、わからんわ。』という人でした。皆さん賢いので複雑怪奇なコードで教えてくれていて…わかんない。
Promiseって非同期処理にするための道具です。Promiseって書いてその中に非同期処理の内容を書いてあげる。値を戻したい場合は命名した名前のカッコの中に値を返してあげれば良いが!!、どうも渡せる値は一つだけなのだ。

ちなみにthen(その後)で、非同期処理が終わった後にする処理が書けるですね(´・ω・`)。thenの中に非同期処理の値も返ってくる‥但しひとまとめで、、そんだけの話。またエラーになった時の処理も対応できるってさ…、そしてチェーン(数珠繋ぎ)の様に書くことも可能です、ここではそれらは割愛しますね?。

ちなみに最初、asyncとawaitと混合していて悩んでおりました。asyncとawaitは対になっていると同じような感覚でPromiseとthenは対になっていると考えてください。あまり複雑怪奇に考えずサンプルコードを動かして出来るできないを判断した後に賢い人が書いたリファレンスなどを読むことをオススメします。

最後に単純なソースコードとコンソールの結果を載せときますね。

"use strict";
var a = 0;
const q1 = new Promise((zaru)=>{//zaru...名前付けは何でも良い(予約されているものでなければ
	a++;
	zaru(a + "1..");//データをまとめて返す
});
const q2 = new Promise((zaru)=>{
	a++;
	zaru(a + "2..");
});
const q3 = new Promise((zaru)=>{
	zaru("3~~~~n");
});
const qdaaaaaaaa = new Promise((zaru)=>{
	zaru([1,2,3,"Dahahaha!!"]);
});
Promise.all([q1,q2,q3,qdaaaaaaaa]).then((val)=>{
	console.log(val);
 }
);
qdaaaaaaaa.then((val)=>{
	console.log(val);
});
Array(4) [1, 2, 3, "Dahahaha!!"]
move.js:26
length:4
__proto__:Array(0) [, …]
0:1
1:2
2:3
3:"Dahahaha!!"
Array(4) ["11..", "22..", "3~~~~n", Array(4)]
move.js:21
length:4
__proto__:Array(0) [, …]
0:"11.."
1:"22.."
2:"3~~~~n"
3:Array(4) [1, 2, 3, …]
length:4
__proto__:Array(0) [, …]
0:1
1:2
2:3
3:"Dahahaha!!"

活動支援よろしくお願いします

bitflyer.comでAPI使ってみたよ、遅っいぞ。前のページ

空気を読むよりもガンガンいこうぜの時代になったな。次のページ

関連記事

  1. 記録

    続ける人。

    続ける人。ブログを続ける人と続けれない人の違いは何だろうかと思う…

  2. 記録

    映画、ジェイソン・ボーンを観てきましので #映画レビュー

    映画、ジェイソン・ボーンを観てきましので感想なんかを残しときます。…

  3. 記録

    映画、インデペンデンス・デイ:リサージェンスを観てきましたので #映画レビュー

    昨日、インデペンデンス・デイ:リサージェンスを観てきましたので感想…

  4. 記録

    「の」だけ。

    先程、夢を見ました。内容はこんな感じ、ある学生が起業しながら学校…

  5. 記録

    素晴らしい歌だと思う。

    とても素晴らしい詩と歌声。ハンバート ハンバートさんが歌う虎と…

PAGE TOP