call an async function for each data event on a writable stream. manage concurrency as back pressure.