Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
No content
Slide 2
Slide 2 text
No content
Slide 3
Slide 3 text
No content
Slide 4
Slide 4 text
Promise Deferred Objects async await Promise async await
Slide 5
Slide 5 text
No content
Slide 6
Slide 6 text
Promise ( ) ( ) resolve(T) Promise reject(any) Promise then(f, f) , ,
Slide 7
Slide 7 text
Promise ( ) ( ) resolve(T) Promise reject(any) Promise then(f, f) , ,
Slide 8
Slide 8 text
async return throw await const value = await ; console.debug(value); .then((value) => { console.debug(value); });
Slide 9
Slide 9 text
No content
Slide 10
Slide 10 text
No content
Slide 11
Slide 11 text
No content
Slide 12
Slide 12 text
const promise = new Promise(); // ... ... promise.resolve( ); /* */ promise.reject( ); new Promise((resolve, reject) => { // ... ... resolve( ); /* */ reject( ); });
Slide 13
Slide 13 text
// Promise let resolve, reject; new Promise((_resolve, _reject) => { // resolve, reject resolve = _resolve; reject = _reject; }); resolve( ); /* */ reject( ); // ↑ ...
Slide 14
Slide 14 text
function () { // Promise ... const promise = new Promise(); // ... ( promise.resolve ) ... return promise; } const promise = (); promise.resolve(null); // resolve
Slide 15
Slide 15 text
function () { // Promise return new Promise((resolve, reject) => { // ... ( resolve ) ... }); } const promise = (); // ↑ resolve
Slide 16
Slide 16 text
function (props) { // const hoge = props.something.foobar(); // Promise ... const promise = new Promise(); // ... ( promise.resolve ) ... return promise; } resolve( ) reject( )
Slide 17
Slide 17 text
No content
Slide 18
Slide 18 text
function () { /* ※1 */ return new Promise((resolve, reject) => { // reject( ) }); } const promise = (); // ↑ Promise reject ※1
Slide 19
Slide 19 text
promise.then .then((result) => { return (); // Promise }).then((result) => { // result === });
Slide 20
Slide 20 text
Promise.all(Promise[]): Promise Promise.race(Promise[]): Promise promise.catch(f)
Slide 21
Slide 21 text
function myFunction() { A().then((resultA) => { if (resultA === "hoge") { B().then((resultB) => { if (resultB === "huga") C(); }); } else { D().then((resultC) => { if (resultC === "piyo") E(); }); } }); }
Slide 22
Slide 22 text
No content
Slide 23
Slide 23 text
No content
Slide 24
Slide 24 text
async return throw await const value = await ; console.debug(value); .then((value) => { console.debug(value); });
Slide 25
Slide 25 text
await // async function myFunction() { if (await A() === "hoge") { if (await B() === "huga") C(); } else { if (await D() === "piyo") E(); } } await then
Slide 26
Slide 26 text
No content
Slide 27
Slide 27 text
Promise Promise.all Promise.race await Promise.all( 1(), 2(), ...) Promise
Slide 28
Slide 28 text
async await async Promise Promise await await
Slide 29
Slide 29 text
No content
Slide 30
Slide 30 text
No content
Slide 31
Slide 31 text
async await function hoge() { const async = 1; const await = 2; console.log(async, await); // it works } async await async function() { ... } async
Slide 32
Slide 32 text
await async function myFunction() { await 1(); // 1().then(...) 1(); 2(); // await 2(); await 3(); // 3().then(...) } 2 no-floating-promises
Slide 33
Slide 33 text
await Promise.resolve(Promise.resolve(123)); // Promise.resolve(123) 123 // Promise.resolve Promise
Slide 34
Slide 34 text
fulfill reject resolve Promise.reject(e) Promise.resolve(value) fulfill resolve reject
Slide 35
Slide 35 text
new Promise Promise. Promise
Slide 36
Slide 36 text
Promise Promise Promise = undefined; // Promise.resolve(1234); // await (async() => 123)(); // async await Promise Promise ZoneAwarePromise Promise Zone async await Promise.
Slide 37
Slide 37 text
await then await 14.6.13 Runtime Semantics: Evaluation 25.5.5.3 AsyncFunctionAwait ( value ) 25.4.5.3.1 PerformPromiseThen
Slide 38
Slide 38 text
await