Baseline Widely available
async function
ãã¼ã¯ã¼ãã¯ãå¼ã®ä¸ã§éåæé¢æ°ãå®ç¾©ããããã«ä½¿ç¨ã§ãã¾ãã
éåæé¢æ°ã¯ãasync function
宣è¨ã¾ãã¯ã¢ãã¼æ§æã使ç¨ãã¦å®ç¾©ãããã¨ãã§ãã¾ãã
async function (param0) {
statements
}
async function (param0, param1) {
statements
}
async function (param0, param1, /* â¦, */ paramN) {
statements
}
async function name(param0) {
statements
}
async function name(param0, param1) {
statements
}
async function name(param0, param1, /* â¦, */ paramN) {
statements
}
ã¡ã¢: å¼æã¯ async function
ãã¼ã¯ã¼ãã使ç¨ãããã¨ãã§ãã¾ãããasync function
宣è¨ã¨ã®æ··åãé²ãããã§ããasync function
ãã¼ã¯ã¼ãã¯æãåãä»ãããã¨ãã§ããªãã³ã³ããã¹ãã§ç¾ããå ´åã®ã¿ãå¼ã®å§ã¾ãã«ãªãã¾ãã
name
çç¥å¯
颿°åã§ãã颿°ãç¡åã®å ´åã¯çç¥å¯è½ã§ããååã¯é¢æ°ã®æ¬ä½å ã®ã¿ã®ãã¼ã«ã«ã§ãã
paramN
çç¥å¯
颿°ã«æ¸¡ããã弿°åã§ãã弿°ã®æ§æã«ã¤ãã¦ã¯ã颿°ãªãã¡ã¬ã³ã¹ãåç §ãã¦ãã ããã
statements
çç¥å¯
颿°æ¬ä½ãæ§æããæã§ãã
async function
å¼ã¯ async function
宣è¨ã¨ããä¼¼ã¦ãããæ§æãã»ã¨ãã©åãã§ããasync function
å¼ã¨ async function
宣è¨ã®ä¸»ãªéãã¯ãasync function
å¼ã颿°åãçç¥ãã¦ç¡å颿°ãçæãããã¨ãã§ããç¹ã§ããasync function
å¼ã¯ãå®ç¾©å¾ç´ã¡ã«å®è¡ããã IIFEï¼å³æå®è¡é¢æ°å¼ï¼ã¨ãã¦ä½¿ç¨ãããã¨ãã§ããæä¸ä½ã® await ãæ¨¡å£ãããã¨ãã§ãã¾ãã詳細ã¯é¢æ°ã®ç« ãè¦ã¦ãã ããã
function resolveAfter2Seconds(x) {
return new Promise((resolve) => {
setTimeout(() => {
resolve(x);
}, 2000);
});
}
// 夿°ã«ä»£å
¥ãããéåæé¢æ°å¼
const add = async function (x) {
const a = await resolveAfter2Seconds(20);
const b = await resolveAfter2Seconds(30);
return x + a + b;
};
add(10).then((v) => {
console.log(v); // 4 ç§å¾ã« 60 ã表示
});
// IIFE ã¨ãã¦ä½¿ç¨ãããéåæé¢æ°å¼
(async function (x) {
const p1 = resolveAfter2Seconds(20);
const p2 = resolveAfter2Seconds(30);
return x + (await p1) + (await p2);
})(10).then((v) => {
console.log(v); // 2 ç§å¾ã« 60 ã表示
});
éåæ IIFE
async
ã® IIFE ã使ç¨ããã¨ã await
ããã³ for...await
ããæä¸ä½ã® await ãå©ç¨ã§ããªãã³ã³ããã¹ãã§ä½¿ç¨ãããã¨ãã§ãã¾ããããã§ã¯ãã¢ãã¼é¢æ°ã使ç¨ã㦠IIFE ãå®ç¾©ãã¦ãã¾ããã async function
å¼ã使ç¨ã§ãã¾ãã
const getFileStream = async (url) => {
// implementation
};
(async () => {
const stream = await getFileStream("https://domain.name/path/file.ext");
for await (const chunk of stream) {
console.log({ chunk });
}
})();
仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ
å ±
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4