【发布时间】:2020-03-29 07:47:21
【问题描述】:
我正在尝试在 Svelte(use:action 指令)上创建一个异步操作,当我尝试以下“非异步”功能时它工作正常
export default function typewriter(node, options) {
for (const letter of elementsText[elIndex]) {
if (!reverse && el.textContent === elementsText[elIndex].join('')) return
if (reverse && el.textContent === '') return
if (Array.isArray(interval)) {
const randomInterval = Math.floor(Math.random() * interval.length)
// this function needs an `await`
await sleep(interval[randomInterval])
} else if (typeof interval == 'number') {
// this function requires an `await`
sleep(interval)
}
!reverse ? (el.textContent += letter) : (el.textContent = el.textContent.slice(0, -1))
}
}
但是当我尝试将上面的代码转换为异步函数时,我收到以下错误(可能是babeljs 抛出的)
Uncaught (in promise) ReferenceError: regeneratorRuntime is not defined
【问题讨论】:
-
是的,非常感谢!我对该问题提出的答案进行了一些更改,以使其与 Babel 7 一起使用 ^
标签: babeljs javascript svelte