Привет, ребята, у меня есть асинхронная функция, и я должен работать синхронную функцию в конце асинхронный:Запустить синхронную функцию в конце асинхронной функции в JavaScript?
google.setOnLoadCallback(googlata);
function googlata(){
alert('hello');
}
function endgooglata(){
alert('i am synchronous');
}
Я попытался добавление setInterval к синхронной функции и, очевидно, она работает ... но мне не нравится ...
Я хотел бы более точный метод и, конечно, просто ...
существует?
EDIT
Я создал jsfiddle, но, очевидно, не работает в прямых линиях, потому что код является более сложным ... поэтому я объясню, как это работает:
У меня есть page.html с простой строкой поиска и отправки данных в paginaX.html через «получить» метод ...
в этом мой paginaX есть код моего jsfiddle ....
Когда функция googlata()
, он создает страницу результатов в div id="cse"
согласно исследованиям, проведенным в баре.
Я манипулировать URL и получать ключевые слова искали ...
SERP создан правильно.
Где проблема ???
Проблема заключается в том, что некоторые результатах есть изображение, а некоторые нет ... и я хочу, чтобы описательные резюме каждого результата находилось на одинаковом расстоянии от края левого ...
тогда результатов, есть изображение даст им отступы ..
это происходит в «modifica()
»
Но если страница результатов не полностью создана, проблемы будут функционировать modifica()
(давая отступы к результатам с изображением). Так что строго необходимо modifica()
запущен в конце googlata()
.
SetInterval очень плохое решение ... потому что иногда googlata()
работает более 1300 мс набор, а затем создает другие ошибки ...
ЭТО JSFIDDLE:
I надежда может вы мне помочь ...
Функция 'googlata (callback) { Функция возврата() { alert ('hello'); callback(); } } google.setOnLoadCallback (googlata (endgooglata)); 'ответьте на свой вопрос? – tforgione
Вы хотите сказать, что основной поток ждет завершения действия? – Pablo
@DragonRock я не понимаю ... пожалуйста, если можно написать ответ на пример – Borja