@@ -67,10 +67,15 @@ async function getLocaleMessages(locale: string, loader: LocaleLoader) {
6767 */
6868export async function getLocaleMessagesMerged ( locale : string , loaders : LocaleLoader [ ] = [ ] ) {
6969 const nuxtApp = useNuxtApp ( )
70+ const messages = await Promise . all (
71+ loaders . map ( loader => nuxtApp . runWithContext ( ( ) => getLocaleMessages ( locale , loader ) ) ) ,
72+ )
73+
7074 const merged : LocaleMessages < DefineLocaleMessage > = { }
71- for ( const loader of loaders ) {
72- deepCopy ( await nuxtApp . runWithContext ( async ( ) => await getLocaleMessages ( locale , loader ) ) , merged )
75+ for ( const message of messages ) {
76+ deepCopy ( message , merged )
7377 }
78+
7479 return merged
7580}
7681
@@ -79,17 +84,20 @@ export async function getLocaleMessagesMerged(locale: string, loaders: LocaleLoa
7984 */
8085export async function getLocaleMessagesMergedCached ( locale : string , loaders : LocaleLoader [ ] = [ ] ) {
8186 const nuxtApp = useNuxtApp ( )
82- const merged : LocaleMessages < DefineLocaleMessage > = { }
83-
84- for ( const loader of loaders ) {
87+ const messages = await Promise . all ( loaders . map ( async ( loader ) => {
8588 const cached = getCachedMessages ( loader )
86- const messages = cached || ( await nuxtApp . runWithContext ( async ( ) => await getLocaleMessages ( locale , loader ) ) )
89+ const messages = cached || ( await nuxtApp . runWithContext ( ( ) => getLocaleMessages ( locale , loader ) ) )
8790
8891 if ( ! cached && loader . cache !== false ) {
8992 cacheMessages . set ( loader . key , { ttl : Date . now ( ) + __I18N_CACHE_LIFETIME__ * 1000 , value : messages } )
9093 }
9194
92- deepCopy ( messages , merged )
95+ return messages
96+ } ) )
97+
98+ const merged : LocaleMessages < DefineLocaleMessage > = { }
99+ for ( const message of messages ) {
100+ deepCopy ( message , merged )
93101 }
94102
95103 return merged
0 commit comments