記録

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. 記録

    LINEスパムが来た。事あるごとにくる。来なくなったなぁと思うと。

    内容はこんな感じ・・・自分のスケジュールとか分かってん…

  2. 記録

    LinkedIn(リンクトイン)で個人情報を取られました。

    今日は晴天です、お外は暑いですが部屋の中は丁度よい温度ですね。…

  3. 記録

    うだつが上がらない自分。

    どこに行っても3年か4年で転職している自分。何故、辞めているのかと…

  4. 記録

    通信を制するものが世界を制す!?

    通信を制するものが世界を制す!?この頃、聞かなくなった全世界どこで…

  5. 記録

    読書感想文のすゝめ(φ(`д´)こぴぺ

    暑い夏が続いています。自分としては思った以上には暑さは感じなかったり…

  6. 記録

    過去の延長線上に未来はない?

    過去を振り返って自分が東京で仕事をしていた頃。毎日、終電で帰ってい…

2020年6月
1234567
891011121314
15161718192021
22232425262728
2930  

カテゴリー

PAGE TOP