Ваш код сам по себе правильный.Это чисто вопрос времени.Проблема в том, что второй console.log(this.usStates);
, находящийся вне подписки, выполняется немедленно - и в этом случае массив this.usStates
все еще пуст.В основном происходит следующее:
Таким образом, вне функции подписки, вам просто нужно проверить наличие значения.Примерно так:
if (this.usStates.length>0) { console.log(...) }
Или, если вы привязываетесь к данным, вам нужно использовать *ngIf
или оператор безопасной навигации (?).