我有以下代码(+layout.svelte):
import { getLang } from "$lib/locale";
import { browser } from "$app/environment";
const loadLang = async () => {
if (browser) {
// return await getLang(document.documentElement.lang, "home").then( function (data: any) {
// const nav = JSON.stringify(data.nav);
// console.log(nav)
// return nav;
// });
const initLocale= await getLang(document.documentElement.lang, "home");
return initLocale.json();
}
};
const a = loadLang();
console.log(a);
此代码片段的作用是检测浏览器语言、请求的路由,然后搜索与该语言和页面对应的正确 JSON 文件。但有一个问题,我无法访问异步
loadLang()
的语言数据以在组件的 HTML 元素中使用它,除了这里许多答案所述之外,我没有办法真正做到这一点(这不是什么)我正在寻找),我想要的是一种访问上述函数的返回值并在 HTML 元素中使用它的方法?
你的异步函数将返回一个 Promise。您应该使用回调来处理其结果。
像这样:
loadLang().then(result => {
// and here do whatever you want with the result, log it for example
console.log(result);
})