Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ド文系人事総務 AsyncPipeのソースコードを読む
Search
zako1560
September 08, 2022
Programming
0
49
ド文系人事総務 AsyncPipeのソースコードを読む
ラクス フロントエンドLT会 - vol.8 で発表させていただいたスライドです。
https://rakus.connpass.com/event/255095/
zako1560
September 08, 2022
Tweet
Share
Other Decks in Programming
See All in Programming
Claude Codeと2つの巻き戻し戦略 / Two Rewind Strategies with Claude Code
fruitriin
0
150
MUSUBIXとは
nahisaho
0
140
atmaCup #23でAIコーディングを活用した話
ml_bear
1
160
CSC307 Lecture 01
javiergs
PRO
0
690
AgentCoreとHuman in the Loop
har1101
5
250
副作用をどこに置くか問題:オブジェクト指向で整理する設計判断ツリー
koxya
1
620
Amazon Bedrockを活用したRAGの品質管理パイプライン構築
tosuri13
5
800
例外処理とどう使い分ける?Result型を使ったエラー設計 #burikaigi
kajitack
16
6.1k
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
440
「ブロックテーマでは再現できない」は本当か?
inc2734
0
1.1k
CSC307 Lecture 03
javiergs
PRO
1
490
SourceGeneratorのススメ
htkym
0
200
Featured
See All Featured
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
410
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
110
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
340
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
290
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
70
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
120
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.1k
WENDY [Excerpt]
tessaabrams
9
36k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
57
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
67
Odyssey Design
rkendrick25
PRO
1
500
The Curse of the Amulet
leimatthew05
1
8.7k
Transcript
ド文系人事総務 AsyncPipeのソースコードを読む 2022/09/08 フロントエンドLT会 - vol.8
自己紹介 ざこ @zako1560 • 苗字の「こざ◯」から「ざこ」 • 京都の機械メーカーで人事総務 • 水漏れしてるトイレの部品交換したり、 新卒面接したり、人事制度改定したり... •
Angularで社内人事評価アプリ作ってます • 20:30に寝て4:00に起きます 2
本日のテーマ Async Pipe 3
Async Pipe ObservableやPromiseといった非同期データを テンプレートに直接バインドできる機能 4
5
6
コンポーネントが破棄された際に 自動で購読解除してくれる 購読解除(unsbscribe)が必要 →解除し忘れると メモリリーク・バグの原因に 7
🎉🎉 便利やな〜!! 🥳🥳 (長野県出身) 8
🤯 9
10 親コンポーネント 子コンポーネント
11 親コンポーネント 子コンポーネント
なんのnull? 12
AsyncPipe初期値null問題 13
14
15
・・・ 16
・・・ AsyncPipeのtransform()が初めて呼び出された場合 • Observavle(obj)があれば ◦ _subsuribe()でObservavleを購読する ◦ 購読したObservableに値が流れてきたら、 _latestValueを更新する ▪
markForCheck()を呼び出す →再度transform()が呼び出される 17
・・・ 購読したObservableに値が流れてきたら、 _latestValueを更新する・・・ Observableにまだ値が流れてきていなかったら??? 18
・・・ 購読したObservableに値が流れてきたら、 _latestValueを更新する・・・ Observableにまだ値が流れてきていなかったら??? _latestValueの初期値が返る!! 19
・・・ 20
・・・ 21 初期値null問題
どうすれば・・・🥺 22
null安全なディレクティブを通す *ngIf *ngFor 23
*ngIfの内部は、name$ | asyncが返す値 がfalsyなら無視される 24
25 わかりやすい記事の数々・・・ ありがとうございます
・・・ console.log() console.log() 26 おまけ
・・・ console.log() console.log() obj = new BehaviorSubject<>(‘hogehoge’).asObservable() obj = of(‘hogehoge’)
といった購読と同時に値が流れる Observableの場合、 nullは返されない 27 おまけ
ご静聴ありがとうございました!! 28