55 DERIVED ,
66 DESTROYED ,
77 DIRTY ,
8+ EFFECT_ASYNC ,
89 EFFECT_PRESERVED ,
910 MAYBE_DIRTY ,
1011 UNOWNED
@@ -22,7 +23,7 @@ import {
2223import { equals , safe_equals } from './equality.js' ;
2324import * as e from '../errors.js' ;
2425import * as w from '../warnings.js' ;
25- import { block , destroy_effect } from './effects.js' ;
26+ import { block , destroy_effect , render_effect } from './effects.js' ;
2627import { inspect_effects , internal_set , set_inspect_effects , source } from './sources.js' ;
2728import { get_stack } from '../dev/tracing.js' ;
2829import { tracing_mode_flag } from '../../flags/index.js' ;
@@ -110,8 +111,7 @@ export function async_derived(fn, location) {
110111 /** @type {(() => void) | null } */
111112 var discard = null ;
112113
113- // TODO this isn't a block
114- block ( ( ) => {
114+ render_effect ( ( ) => {
115115 if ( DEV ) from_async_derived = active_effect ;
116116 var current = ( promise = fn ( ) ) ;
117117 if ( DEV ) from_async_derived = null ;
@@ -165,7 +165,7 @@ export function async_derived(fn, location) {
165165 }
166166 }
167167 ) ;
168- } , EFFECT_PRESERVED ) ;
168+ } , EFFECT_ASYNC | EFFECT_PRESERVED ) ;
169169
170170 return new Promise ( async ( fulfil ) => {
171171 // if the effect re-runs before the initial promise
0 commit comments