如何从Javascript文件向我的svelte文件发送错误?

icomxhvb  于 2023-05-05  发布在  Java
关注(0)|答案(1)|浏览(193)

我在一个Javascript文件中有一个异步的数据库登录方法,这个函数是由一个小文件远程触发的。如果该方法返回一个错误,我希望错误被发送到我的svelte文件,然后显示在一个段落元素。
我尝试创建一个名为errorMessage的错误变量,并在函数返回错误时将错误消息分配给它,但当我在svelte文件中调用login方法后尝试console.log错误时,它会记录errorMessage已分配的初始值。
苗条:

<script>
import { createAccount, login, errorMessage } from '$lib/supabaseClient.js'

login(email, password);
console.log(errorMessage)
</script>

JS:

export let errorMessage;

export const login = async (email, password) => {
    const { data, error } = await supabase.auth.signInWithPassword({
        email,
        password
    })
    errorMessage = error;
}
aiazj4mn

aiazj4mn1#

当我在svelte文件中调用login方法后尝试console.log错误时,它会记录errorMessage已分配的初始值。
这是因为login()是一个async函数。在您的代码中,console.log()login()执行之前执行。
通过添加await等待login()函数完成,您可能会得到不同的结果,首先:

import { createAccount, login, errorMessage } from '$lib/supabaseClient.js';
await login(email, password);
console.log(errorMessage);

相关问题