The reason I force async here because the size checking is inside the function, not by caller. It might be confusing if `getResizedImgBlob` have both sync and async behavior. If we move the size checking effort to caller, there will be no need to have this logic in `getResizedImgBlob`. Would you suggest that we should move the size checking logic to caller and make this function just for resizing?