[英]Is this a correct understanding of async/await?
function injectText(value, selector) { return new Promise((resolve, reject) => { setTimeout(() => { document.querySelector(selector).innerHTML = value resolve() }, 500) }) } async function printWord(word, selector) { for (let i = 0; i < word.length; i++) { await injectText(word.substring(0, i + 1), selector) } } async function run() { await printWord('Hello', '.hello') await printWord('there,'. '.there') } run()
<div class="hello"></div> <div class="there"></div>
我已经使用 Promise 和 async/await 来打印Hello there!
一封接一封的邮件,延迟为 500 毫秒。 它按预期工作,但是,我不确定我是否理解 function run()
执行时会发生什么。
在await
之前printWord
意味着暂停执行async
函数run
,直到 Promise 被解决或拒绝。
Function printWord
是一个异步 function。 我没有从中返回任何内容,因此在 function 运行结束时返回undefined
。 异步函数总是返回 Promises,因此,它会自动返回 Promise 自动解析为undefined
的值? 这是怎么回事?
然后它跳到第二个await printWord
应用相同的逻辑。
我理解正确吗? 我感谢您的帮助。
await
处理, run()
函数的执行就会暂停。 function 将在自行解决之前暂停其执行两次。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.