add loading icon

add loading icon for the resolve with `promise` value