async/await (JavaScript)
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfras...
-[[戻る>JavaScriptのスレッド処理]]
--[[Promise (JavaScript)]]
--async/await (JavaScript)
*目次 [#m0c40497]
#contents
*概要 [#h7795439]
-.NETの [[async/await>https://techinfoofmicrosofttech.oss...
-[[Promise>Promise (JavaScript)]]を、更に進化させた実装。
--ジェネレータと [[Promise>Promise (JavaScript)]]を組み合...
--[[Promise>Promise (JavaScript)]]を明示する必要がなくな...
*詳細 [#ydcc8c6a]
**async 関数 [#ob2c2475]
async 関数 = AsyncFunction
-関数定義の前にasyncと付けると、~
その関数は AsyncFunction オブジェクトになる。
-AsyncFunctionは、以下のような動作をする。
***ステートメント [#n6083752]
-[[await 式>#c87fcc24]]を含むことができる。
***戻り値 [#rfcd8ea0]
-return
--returnした値は、[[Promise.resolve()>Promise (JavaScript...
--returnしなかった場合、undefinedを[[Promise.resolve()>Pr...
-throw
--また、throwした値は、[[Promise.reject()>Promise (JavaSc...
***結果 [#lb2dd987]
このため、
-明示的に[[Promise>Promise (JavaScript)]]オブジェクトを返...
-thenで[[Promise>Promise (JavaScript)]]オブジェクトをチェ...
***注意 [#xc7c457b]
-return ステートメント上で [[await 式>#c87fcc24]]を使用し...
-async 関数の返値は暗黙的に [[Promise.resolve()>Promise (...
**await 式 [#c87fcc24]
***動作 [#af123dd7]
-await 式は [[async 関数>#ob2c2475]] の実行を一時停止し、...
-解決後、[[async 関数>#ob2c2475]] の実行を再開し、解決さ...
***例外 [#b3ba32ee]
-値が [[Promise>Promise (JavaScript)]]ではなかった場合、...
-[[Promise>Promise (JavaScript)]]が拒絶された場合、await ...
*サンプル・コード [#c6d7838e]
**[[Promise>Promise (JavaScript)]] [#ua5cb4eb]
-thenのメソッド・チェーンでコールバックを指定する実装にな...
--便宜所、非同期処理を含まない。
--以下から実行可能~
https://developer.mozilla.org/ja/docs/Web/JavaScript/Refe...
const promise1 = (num) => {
return new Promise(resolve => {
resolve(num + 1);
});
};
const promise2 = (num) => {
return new Promise(resolve => {
resolve(num + 2);
});
};
const promise3 = (num) => {
return new Promise(resolve => {
resolve(num + 3);
});
};
const promise = promise1(0)
.then(num => {
return promise2(num);
})
.then(num => {
return promise3(num);
})
.then(num => {
console.log(num);
})
.catch(error => {
console.log(error);
});
-結果~
「1 + 2 + 3 = 6」の「6」が表示される。
**async/await [#u17bf9f8]
-[[await 式>#c87fcc24]]によって [[Promise>Promise (JavaSc...
--便宜所、非同期処理を含まない。
--以下から実行可能~
https://developer.mozilla.org/ja/docs/Web/JavaScript/Refe...
const asyncAwait1 = async (num) => {
return new Promise(resolve => {
resolve(num + 1);
});
};
const asyncAwait2 = async (num) => {
return new Promise(resolve => {
resolve(num + 2);
});
};
const asyncAwait3 = async (num) => {
return new Promise(resolve => {
resolve(num + 3);
});
};
const asyncAwait = async () => {
var asyncResult1 = await asyncAwait1(0);
var asyncResult2 = await asyncAwait2(asyncResult1);
var asyncResult3 = await asyncAwait3(asyncResult2);
var sum = asyncResult3;
console.log(asyncResult3);
};
asyncAwait().catch(error => { console.log(error) });
-結果~
「1 + 2 + 3 = 6」の「6」が表示される。
*参考 [#rc6101e1]
-async/awaitを使った非同期処理の書き方 - 30歳からのプログ...
http://numb86-tech.hatenablog.com/entry/2017/10/08/192300
-[JavaScript] 僕がasync/awaitを好きなワケ | Developers.IO~
https://dev.classmethod.jp/node-js/javascript-why-do-i-li...
-ES2017の新機能「async / await」でPromise(非同期処理)を...
https://mae.chab.in/archives/59793
**JavaScript | MDN [#od710c97]
-async function~
https://developer.mozilla.org/ja/docs/Web/JavaScript/Refe...
-await~
https://developer.mozilla.org/ja/docs/Web/JavaScript/Refe...
**Qiita [#udcb7f97]
-async/await 入門(JavaScript)~
https://qiita.com/soarflat/items/1a9613e023200bbebcb3
>とはいえasync/awaitも[[Promiseを利用しているため、Promis...
-async await の使い方~
https://qiita.com/niusounds/items/37c1f9b021b62194e077
-Promise再入門 > ② ~async/await編~~
https://qiita.com/gctfuji/items/47d310ae795aa9131c14
-JavaScriptのasync/awaitがPromiseよりもっと良い~
https://qiita.com/Anders/items/dfcb48d8b27ceaffb443
-Promiseの使い方、それに代わるasync/awaitの使い方~
https://qiita.com/suin/items/97041d3e0691c12f4974
終了行:
「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfras...
-[[戻る>JavaScriptのスレッド処理]]
--[[Promise (JavaScript)]]
--async/await (JavaScript)
*目次 [#m0c40497]
#contents
*概要 [#h7795439]
-.NETの [[async/await>https://techinfoofmicrosofttech.oss...
-[[Promise>Promise (JavaScript)]]を、更に進化させた実装。
--ジェネレータと [[Promise>Promise (JavaScript)]]を組み合...
--[[Promise>Promise (JavaScript)]]を明示する必要がなくな...
*詳細 [#ydcc8c6a]
**async 関数 [#ob2c2475]
async 関数 = AsyncFunction
-関数定義の前にasyncと付けると、~
その関数は AsyncFunction オブジェクトになる。
-AsyncFunctionは、以下のような動作をする。
***ステートメント [#n6083752]
-[[await 式>#c87fcc24]]を含むことができる。
***戻り値 [#rfcd8ea0]
-return
--returnした値は、[[Promise.resolve()>Promise (JavaScript...
--returnしなかった場合、undefinedを[[Promise.resolve()>Pr...
-throw
--また、throwした値は、[[Promise.reject()>Promise (JavaSc...
***結果 [#lb2dd987]
このため、
-明示的に[[Promise>Promise (JavaScript)]]オブジェクトを返...
-thenで[[Promise>Promise (JavaScript)]]オブジェクトをチェ...
***注意 [#xc7c457b]
-return ステートメント上で [[await 式>#c87fcc24]]を使用し...
-async 関数の返値は暗黙的に [[Promise.resolve()>Promise (...
**await 式 [#c87fcc24]
***動作 [#af123dd7]
-await 式は [[async 関数>#ob2c2475]] の実行を一時停止し、...
-解決後、[[async 関数>#ob2c2475]] の実行を再開し、解決さ...
***例外 [#b3ba32ee]
-値が [[Promise>Promise (JavaScript)]]ではなかった場合、...
-[[Promise>Promise (JavaScript)]]が拒絶された場合、await ...
*サンプル・コード [#c6d7838e]
**[[Promise>Promise (JavaScript)]] [#ua5cb4eb]
-thenのメソッド・チェーンでコールバックを指定する実装にな...
--便宜所、非同期処理を含まない。
--以下から実行可能~
https://developer.mozilla.org/ja/docs/Web/JavaScript/Refe...
const promise1 = (num) => {
return new Promise(resolve => {
resolve(num + 1);
});
};
const promise2 = (num) => {
return new Promise(resolve => {
resolve(num + 2);
});
};
const promise3 = (num) => {
return new Promise(resolve => {
resolve(num + 3);
});
};
const promise = promise1(0)
.then(num => {
return promise2(num);
})
.then(num => {
return promise3(num);
})
.then(num => {
console.log(num);
})
.catch(error => {
console.log(error);
});
-結果~
「1 + 2 + 3 = 6」の「6」が表示される。
**async/await [#u17bf9f8]
-[[await 式>#c87fcc24]]によって [[Promise>Promise (JavaSc...
--便宜所、非同期処理を含まない。
--以下から実行可能~
https://developer.mozilla.org/ja/docs/Web/JavaScript/Refe...
const asyncAwait1 = async (num) => {
return new Promise(resolve => {
resolve(num + 1);
});
};
const asyncAwait2 = async (num) => {
return new Promise(resolve => {
resolve(num + 2);
});
};
const asyncAwait3 = async (num) => {
return new Promise(resolve => {
resolve(num + 3);
});
};
const asyncAwait = async () => {
var asyncResult1 = await asyncAwait1(0);
var asyncResult2 = await asyncAwait2(asyncResult1);
var asyncResult3 = await asyncAwait3(asyncResult2);
var sum = asyncResult3;
console.log(asyncResult3);
};
asyncAwait().catch(error => { console.log(error) });
-結果~
「1 + 2 + 3 = 6」の「6」が表示される。
*参考 [#rc6101e1]
-async/awaitを使った非同期処理の書き方 - 30歳からのプログ...
http://numb86-tech.hatenablog.com/entry/2017/10/08/192300
-[JavaScript] 僕がasync/awaitを好きなワケ | Developers.IO~
https://dev.classmethod.jp/node-js/javascript-why-do-i-li...
-ES2017の新機能「async / await」でPromise(非同期処理)を...
https://mae.chab.in/archives/59793
**JavaScript | MDN [#od710c97]
-async function~
https://developer.mozilla.org/ja/docs/Web/JavaScript/Refe...
-await~
https://developer.mozilla.org/ja/docs/Web/JavaScript/Refe...
**Qiita [#udcb7f97]
-async/await 入門(JavaScript)~
https://qiita.com/soarflat/items/1a9613e023200bbebcb3
>とはいえasync/awaitも[[Promiseを利用しているため、Promis...
-async await の使い方~
https://qiita.com/niusounds/items/37c1f9b021b62194e077
-Promise再入門 > ② ~async/await編~~
https://qiita.com/gctfuji/items/47d310ae795aa9131c14
-JavaScriptのasync/awaitがPromiseよりもっと良い~
https://qiita.com/Anders/items/dfcb48d8b27ceaffb443
-Promiseの使い方、それに代わるasync/awaitの使い方~
https://qiita.com/suin/items/97041d3e0691c12f4974
ページ名: