How to start second observable *only* after first is *completely* done in rxjs
问题 I was under impression that Observable.[prototype.]concat makes sure first operation is fully finished before second operation starts. But in following code: Observable .concat( Observable.fromNodeCallback(rimraf)(path.resolve('./some_dir')), Observable.fromNodeCallback(mkdir)(path.resolve('./some_dir')), writeToSomeDir$ ) mkdir attempts (and fails) to create ./some_dir before rimraf is finished deleting the dir. At the end (of throwing) however, ./some_dir ends up getting deleted. Why is