.NET supports asynchronous code using the 
Task asynchronous programming model. However, for .NET we have decided to implement a 
lazy loading feature instead of a fully asynchronous approach as we believe this gives better control to the developer.  
  Java supports asynchronous code using the 
CompletableFuture class. For Java we have decided to implement a 
lazy loading feature instead of a fully asynchronous approach as we believe this gives better control to the developer.  
  PHP is single-threaded and does not support non-blocking execution out of the box. The 
Pipeline has no support for 
asynchronous execution nor 
lazy loading in PHP.  
  Node.js, being based on JavaScript is a fundamentally asynchronous language. As such, the 
Pipeline will work in a non-blocking way by default through the use of promises.
See the node documentation for more details about blocking vs non-blocking calls.