我希望这是完全客户端渲染。所以,我不想刷新页面只是为了重做的承诺。
这是我做的代码。
{#await myFetchMethod("/api/v1/me")}
<Loading />
{:then loggedIn}
{#if loggedIn}
<Link class="mb-0 h3" to="/profile">Profile</Link>
<Link class="mb-0 h3" to="/logout">Logout</Link>
{:else}
<Link class="mb-0 h3" to="/login">Login</Link>
<Link class="mb-0 h3" to="/register">Register</Link>
{/if}
{:catch error}
<p>Can't connect to the server!</p>
<button on:click={whatShouldIDoHere}>Refresh</button>
{/await}
字符串
我希望刷新按钮只是重做myFetchMethod("/api/v1/me")
promise并按预期获得结果。
2条答案
按热度按时间h22fl7wq1#
与将promise硬编码到API请求中不同,您可以将其存储到一个变量中,添加一个刷新变量的函数(即再次触发查询),并将该函数绑定到按钮的click事件。
就像这样:
字符串
s1ag04yj2#
向函数传递一个参数,该参数在更改时触发重新运行。
字符串
这个参数不一定要在函数内部使用。但是当参数的值改变时,函数会再次运行。(当输入改变时,会有一个新的输出)。
要让它由刷新按钮触发,您可以执行以下操作:
型