У меня есть этот код:AS3 HTTPService - передать аргументы обработчиков событий по ссылке
var service:HTTPService = new HTTPService();
if (search.Location && search.Location.length > 0 && chkLocalSearch.selected) {
service.url = 'http://ajax.googleapis.com/ajax/services/search/local';
service.request.q = search.Keyword;
service.request.near = search.Location;
} else
{
service.url = 'http://ajax.googleapis.com/ajax/services/search/web';
service.request.q = search.Keyword + " " + search.Location;
}
service.request.v = '1.0';
service.resultFormat = 'text';
service.addEventListener(ResultEvent.RESULT, onServerResponse);
service.send();
Я хочу, чтобы передать объект поиска по методу результата (onServerResponse), но если я делаю это в затворе он получает передается по значению. Есть ли способ сделать это по ссылке без поиска в моем массиве объектов поиска для значения, возвращаемого в результате?
Я хочу передать поиск onServerResponse. – Shawn
Да, но я не понимаю, почему использование вашего подхода закрытия не будет работать. Возможно, вы хотите удалить объект поиска из своего массива, и в этом случае вам нужно получить доступ к массиву. В противном случае параметр поиска, который вы получите, является копией ссылки на исходный объект. Пока вы используете ссылку, вы получите доступ к исходному объекту. Итак, если вы хотите изменить значение объекта поиска или вызвать какой-либо метод на нем, у вас не должно быть проблем. –
нет, я получаю ссылку на копию объекта, а не копию ссылки. – Shawn