从 OnMount 中提取一个 var,例如 useState

Pie*_*res 2 svelte sveltekit

我正在尝试在代码中使用在 onmount 中创建的 const 作为 {myip},我不知道如何从 onmount 中提取它

<script>
  import { page } from '$app/stores'
  import axios from 'axios'
  import { onMount } from 'svelte'

  onMount(async () => {
    const firstip = await axios.get(`https://geolocation-db.com/json/`)

    const finalip = await axios.get(`https://api.ipregistry.co/` + `${firstip.data.IPv4}` + `?key=6nn8zr4k2h34cwkw32`)

    if (!finalip.data.carrier.name) {
      const myip = finalip.data.location.city
      console.log(myip)
    } else {
      const myip = '7 km'
      console.log(myip)
    }
  })

  const { id } = $page.params

  console.log(id)
  const name = id.charAt(0).toUpperCase() + id.slice(1)
</script>
Run Code Online (Sandbox Code Playgroud)

我想提取“myip”并在 onmount 之外使用它谢谢

Cor*_*rrl 6

只需在 as 之前声明let并在里面设置即可onMount

let myip

onMount(async () => {
    ...

    if (!finalip.data.carrier.name) {
      myip = finalip.data.location.city      
    } else {
      myip = '7 km'      
    }
})
Run Code Online (Sandbox Code Playgroud)