Baseline Widely available
throw()
㯠AsyncGenerator
ã¤ã³ã¹ã¿ã³ã¹ã®ã¡ã½ããã§ããããã throw
æãã¸ã§ãã¬ã¼ã¿ã¼æ¬ä½ã®ä¸ã®åæ¢ä¸ã®ä½ç½®ã«æ¿å
¥ããããã®ããã«åä½ããã¨ã©ã¼ç¶æ
ãã¸ã§ãã¬ã¼ã¿ã¼ã«éç¥ãã¦ãã¨ã©ã¼ãå¦çããããã¯ãªã¼ã³ã¢ãããå®è¡ãã¦ããèªèº«ãéãããã¨ãã§ãã¾ãã
asyncGeneratorObject.throw(exception)
弿°
exception
çºçãããä¾å¤ããããã°ã®ç¨éã§ã¯ãinstanceof
Error
ã«ããã¨ä¾¿å©ã§ãã
çºçããã¨ã©ã¼ãææã§ããªãå ´åã¯ã渡ãããä¾å¤ã§æå¦ãã Promise
ãè¿ãã¾ãã
ä¾å¤ã try...catch
ã§æããããåéãã¦ã¸ã§ãã¬ã¼ã¿ã¼ã次ã®å¤ãçæããã¨ã次㮠2 ã¤ã®ããããã£ãæã¤ Object
ã§è§£æ±ºãã Promise
ãè¿ãã¾ãã
done
è«çå¤ã§ãã
true
: ãã®ã¸ã§ãã¬ã¼ã¿ã¼é¢æ°ã®å¶å¾¡ããã¼ãæå¾ã¾ã§éããå ´åãfalse
: ãã®ã¸ã§ãã¬ã¼ã¿ã¼ã次ã®å¤ãçæãããã¨ãã§ããå ´åãvalue
次㮠yield
å¼ã§çæãããå¤ã
次ã®ä¾ã§ã¯ãåç´ãªã¸ã§ãã¬ã¼ã¿ã¼ã¨ãthrow
ã¡ã½ããã使ç¨ãã¦çºçããã¨ã©ã¼ã«ã¤ãã¦ç¤ºãã¾ããã¨ã©ã¼ã¯ãé常éã try...catch
ãããã¯ã§æããããã¨ãã§ãã¾ãã
// éåæã¿ã¹ã¯ã§ããå®éã«ã¯ãã£ã¨æçãªãã¨ã使ç¨ãã¦ãããã¨ã
// æ³å®ãã¦ãã ããã
function sleep(time) {
return new Promise((resolve, reject) => {
setTimeout(resolve, time);
});
}
async function* createAsyncGenerator() {
while (true) {
try {
await sleep(500);
yield 42;
} catch (e) {
console.error(e);
}
}
}
const asyncGen = createAsyncGenerator();
asyncGen.next(1).then((res) => console.log(res)); // { value: 42, done: false }
asyncGen
.throw(new Error("Something went wrong")) // Error: Something went wrong
.then((res) => console.log(res)); // { value: 42, done: false }
仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ
å ±
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