Difference between await & GetAwaiter()/GetResult()
I'm actually doing a simple task that checks if a role exists in the database and create it if the role doesn't exists.
Code:
Here's how it looks like with await:
Code:
if (!_roleManager.RoleExistsAsync(SD.Role_Customer).GetAwaiter().GetResult())
{
_roleManager.CreateAsync(new IdentityRole(SD.Role_User)).GetAwaiter().GetResult();
_roleManager.CreateAsync(new IdentityRole(SD.Role_Moderator)).GetAwaiter().GetResult();
_roleManager.CreateAsync(new IdentityRole(SD.Role_Admin)).GetAwaiter().GetResult();
_roleManager.CreateAsync(new IdentityRole(SD.Role_Invited)).GetAwaiter().GetResult();
}if (!_roleManager.RoleExistsAsync(SD.Role_Customer).GetAwaiter().GetResult())
{
_roleManager.CreateAsync(new IdentityRole(SD.Role_User)).GetAwaiter().GetResult();
_roleManager.CreateAsync(new IdentityRole(SD.Role_Moderator)).GetAwaiter().GetResult();
_roleManager.CreateAsync(new IdentityRole(SD.Role_Admin)).GetAwaiter().GetResult();
_roleManager.CreateAsync(new IdentityRole(SD.Role_Invited)).GetAwaiter().GetResult();
}Here's how it looks like with await:
if (!await _roleManager.RoleExistsAsync(SD.Role_Customer).GetAwaiter().GetResult())
{
await _roleManager.CreateAsync(new IdentityRole(SD.Role_User));
await _roleManager.CreateAsync(new IdentityRole(SD.Role_Moderator));
await _roleManager.CreateAsync(new IdentityRole(SD.Role_Admin));
await _roleManager.CreateAsync(new IdentityRole(SD.Role_Invited));
}if (!await _roleManager.RoleExistsAsync(SD.Role_Customer).GetAwaiter().GetResult())
{
await _roleManager.CreateAsync(new IdentityRole(SD.Role_User));
await _roleManager.CreateAsync(new IdentityRole(SD.Role_Moderator));
await _roleManager.CreateAsync(new IdentityRole(SD.Role_Admin));
await _roleManager.CreateAsync(new IdentityRole(SD.Role_Invited));
}