The concurrency model seems to be the same as threads. Since JS doesn't have threads, thats great, but claiming that "let you write asynchronous code as if it were synchronous." is a little much. Try mutating shared state async while pretending your code is sync and see how far that gets you.