我有一個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功能是從一個click事件稱爲:
subm_btn.addEventListener('click', function() {
UploadMyScript.submitTitle(this.id, createObject);
});
我知道正在返回$result
,但只有延遲之後。在返回$result
之前調用回調函數createObject()
。我不明白爲什麼會這樣。
因爲您沒有使用承諾。你怎麼知道函數被異步調用?看到這個例子:https://gist.github.com/jeffcogswell/8257755 –
'//聯繫webservice並返回$ result'似乎是這個問題的一個重要部分。你可以發佈它,還是給我們一些僞代碼? – CodingIntrigue
我知道結果正在通過使用console.log()返回。 – dave