It seems that for a lot of these functions in web3js 1.0.0 there's no reason for it to not return a value or JS object, rather than a promise object.
For example in a previous version of web3js (0.2x.x) the getBalance() function returns:
A BigNumber instance of the current balance for the given address in wei.
But in v1.0.0 if returns:
Promise returns String - The current balance for the given address in wei.
Why the Promise in this case?
It makes it more difficult to work with the functions to interact with websites in my opinion so I am wondering if there is a reasoning for this added complexity.
Thanks to anyone that can help.