У меня есть функция обратного вызова javascript, которая вызывается асинхронно, вместо ожидания ожидающего результата.Функция обратного вызова Javascript не вызвана должным образом
UploadMyScript.submitTitle = function(id, callback){
// contacts webservice and returns $result
createObject(id, $result);
}
function createObject(id, result){
var filename = UploadMyScript._('paraHeading_'+id).innerHTML;
var uniq_id = UploadMyScript._('paraHeading_'+id).dataset.uniq_id;
var object = new UploadMyScript.title_fileName(result, filename, uniq_id);
}
Функция submitTitle вызывается из события щелчка:
subm_btn.addEventListener('click', function() {
UploadMyScript.submitTitle(this.id, createObject);
});
Я знаю, что $result
возвращается, но только после задержки. Функция обратного вызова createObject()
вызывается перед возвратом $result
. Я не понимаю, почему это так.
Потому что вы не используете обещания. И как вы знаете, что функция называется асинхронно? См. Это, например: https://gist.github.com/jeffcogswell/8257755 –
'// контакты webservice и возвращает $ result', похоже, что это важная часть вопроса. Можете ли вы опубликовать его или дать нам какой-нибудь псевдокод? – CodingIntrigue
Я знаю, что результат возвращается с помощью console.log(). – dave