异步
Alpine 在设计上支持在大多数可以使用标准函数的地方使用异步函数。
例如,假设你有一个名为 getLabel() 的简单函数,用作 x-text 指令的输入:
function getLabel() {
return 'Hello World!'
}
<span x-text="getLabel()"></span>
因为 getLabel 是同步的,一切按预期工作。
现在假设 getLabel 需要发起网络请求来获取标签,无法立即返回结果(异步)。通过将 getLabel 设为 async 函数,你可以使用 JavaScript 的 await 语法从 Alpine 中调用它。
async function getLabel() {
let response = await fetch('/api/label')
return await response.text()
}
<span x-text="await getLabel()"></span>
此外,如果你更喜欢在 Alpine 中调用方法时不带尾部的括号,可以省略它们,Alpine 会检测所提供的函数是否为异步函数并进行相应处理。例如:
<span x-text="getLabel"></span>