2009-03-19 14 views
0

Как обрабатывать асинхронные вызовы, чтобы убедиться, что они не перекрываются?обработка асинхронных вызовов

Это мой сценарий ---

У меня есть цикл и внутри цикла я делаю вызов к API Google и указать обратный вызов функции. Моя функция обратного вызова обрабатывает результаты и записывает вывод в таблицу.

Однако я заметил, что результаты, которые записываются в таблицу, похоже, перекрываются или смешиваются, т. Е. Я называю API в цикле counter = 10, результат для счетчика циклов = 10 может появиться в таблице рядом с значением для счетчика контуров = 15.

Как обеспечить, чтобы моя функция обратного вызова не перекрывалась? Мой код написан в javascript.

Также может ли кто-нибудь указать мне на хорошую и понятную документацию по асинхронным вызовам?

+0

, когда я указываю дополнительную переменную (кроме результатов, подлежащих обработке), моя функция обратного вызова дает ошибку. Как передать дополнительную переменную функции обратного вызова? – 2009-03-19 05:51:50

+0

Вы можете вставить свой код? – Vasil

ответ

2

Ваши функции не перекрываются, вы просто не знаете, какой из них сначала получает результат.

Вы можете объявить свои функции, чтобы они принимали счетчик циклов и передавали его, когда вы вызываете их, чтобы вы знали, где записать результат из функции.

+0

спасибо Василю. Я наконец-то понял. Я передаю счетчик контуров, и он решил проблему. – 2009-03-21 07:54:44

+0

Добро пожаловать. – Vasil

Смежные вопросы