在 Svelte #await 之后调用 javascript 函数的任何方式:then

Any way to call a javascript function after Svelte #await :then

有没有办法在 Svelte #await :then 之后调用 javascript 函数?我想在下面的代码中做的是调用 javascript table 一旦我创建了带有一些 id 的空数据 table 然后在 javascript 中只需将数据添加到 Da table。所以,基本上我想在 javascript 函数中传递 data1 以及 DataTable 或 dataTable 元素本身的 ID。有什么办法可以做到这一点吗?

<div>
  <h1> Title</h1>
  {#await promise}
    loading...
  {:then data}
    {#each data as data1, i}
      <DataTable id={data1.title}/>
      <br />
      ---> I want to call javascript function here which would add data in the given data table. How can I do that?
    {/each}
  {:catch error}
    <kat-alert header="Error" description={error.message} variant="warning" />
  {/await}
</div>

我不完全确定您要做什么,但是如果您正在创建的 DataTable 应该接收数据,为什么不直接将其传递给它呢?

{#each data as data1, i}
   <DataTable id={data1.title} data={data1.actualdata}/>
{/each}

或者,您可以向组件本身添加一个事件。

{#each data as data1, i}
   <DataTable id={data1.title} use:fillTable{data1, data1.title}></DataTable>
{/each}

<script>
  const fillTable = (el, data, id) => () => {
     // el would be the created element
     // data and id were passed on in the #each
  }
</script>

第三种方法是将 promise 移出标记并将逻辑放在脚本标记本身中,这将需要使用一些额外的变量来跟踪加载、错误等...但可能最终如果你想添加很多与 promise 解决方案本身相关的额外操作,那就更干净了。我想这更像是一个品味问题。