我正在尝试制作一个刷新按钮来更新 store.js 中的内容。商店从获取请求中获取数据。
我尝试取消订阅和订阅,但它似乎不起作用。
刷新数据的唯一方法是使用刷新操作创建自定义存储,该操作再次调用 getData() 但它似乎没有触发承诺。
我想删除旧数据和Loading...
每次获取/刷新新数据时出现的文本。
我该怎么做?这是我到目前为止所拥有的:
REPL
<script>
import { testsStore } from './store.js';
let testsStorePromise;
let unsubscribe = testsStore.subscribe(data => {
testsStorePromise = data;
});
function refresh(){
unsubscribe();
unsubscribe = testsStore.subscribe(data => {
testsStorePromise = data;
});
}
</script>
<button on:click="{refresh}">Refresh</button>
<h1>
Todos:
</h1>
{#await testsStorePromise}
<p style="color: blue">LOADING...</p>
{:then todos}
{#each todos as item}
<p>{item.title}</p>
{/each}
{:catch error}
<p style="color: red">{error.message}</p>
{/await}