Closed betula closed 3 years ago
const a = value(0); const b = value(0); const c = value(0); // For a first error on next cases a.flow.async(async (a) => { const data = b.flow(() => {}).val; // Error here, necessary for using isolate here }}; // Flow async proposal const s = a.flow.async(async (a) => { if (!a) return stoppable.stop(); return await load_subscriptions(); }); s.val // subscriptions or undefined s.initialized.val s.error.val s.pending() a.flow.async.debounce(300) .pipe( customDebounce, async (a) => { if (!a) return stoppable.stop(); const m = c.val; // Subscrible to m or not?? return await load_subscriptions(m); } ); // readonly async flow const all_ok = value.combine(a, s.initialized).select(([a, s]) => a && s) // or value.combine([a, s.initialized]) // Rename pool to asyncs))) // Constructors value.async(async (v) => {}); signal.async(async (v) => {}); a.flow.async(async (a) => {}); const m = a.flow.async(async (a) => {}).single(); const h = a.sub.async(reactionable, async (state, val) => {}); // h.pending.val const h_2 = pool(async (a,b,c,d,e) => { stoppable.stop(); }); // Syntax possibilities a.async .debounce(300) .pipe( customDebounce, async (a) => { if (!a) return stoppable.stop(); const m = c.val; // Subscrible to m or not?? (untrack inside pipe section... hmmmm) return await load_subscriptions(m); } ) .flow(async (a) => { return await load(a, b.val, c.val); // Depend on change any of that values }) ; // readonly async flow // Pipe <> Flow same words for not obvious differences... hmm const s = flow.async(async () => { return await load(a.val, b.val, c.val); });
// Syntax possibilities const t = a.async .debounce(300) .flow.untrack( customDebounce, async (a) => { if (!a) return stoppable.stop(); const m = c.val; // not subscribe to c return await load_subscriptions(m); } ) .flow(async (a) => { return await load(a, b.val, c.val); // subscribe to b and c }) ; // readonly async flow t.val t.ready.val t.error.val t.pending.val // flow factory (only track, untrack unsupported) const s = flow.async(async () => { return await load(a.val, b.val, c.val); }); const f_sync = flow(() => { return sync_load(a.val, b.val, c.val); }); // And pool const p = pool(async (a,b,c,d,e) => { stoppable.stop(); }); p.pending.val
Added to "the stream of conciseness 0.7+ roadmap"