сначала, массив не привязывается, поэтому изменение переменной data1 не повлияет на результат.
МассивCollection является привязываемым.
Предполагая, что результат (e.result) на самом деле является массивом (вы должны проверить это при отладке), вы можете сделать следующее
[Bindable]
priavte var ac : ArrayCollection;
тогда внутри вы получите функцию getAllCountriesResult.
ac = new ArrayCollection(e.result);
тогда все, что имеет поставщик данных, установленный в переменную ac, будет обновлено.
Если вы хотите обновить текстовое значение внутри textArea или аналогичного, то вам следует прослушать событие change в arrayCollection и предпринять соответствующее действие.
из ваших дополнительных пунктов ниже (просто отредактируйте исходный вопрос)
Я полагаю, что автозаполнение, о котором вы говорите, это поле ввода автозаполнения из области обмена Adobe, поскольку обычное текстовое поле не принимает arrayCollection.
Если вы разместили код, это может помочь вам в этом.
Преинициализируйте, затем инициализируйте, затем creationComplete, затем applicationComplete (это порядок, в котором они вызываются).
Если вы используете компонент, о котором я думаю, проверьте http://www.websector.de/blog/2008/04/30/quick-tip-avoid-issues-using-adobes-autocomplete-input-component-using-flex-3/
Похоже, что у него могут быть некоторые проблемы с flex 3, поэтому проверьте http://blogs.adobe.com/flex/2006/09/component_autocomplete_text_in.html.