跳转至

异步

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>