我添加了setTimeout
但它不起作用。我想在聲音結束5秒後顯示問題。setTimeout()不能用於返回值
self.getQuestionText = function() {
startSound('levelq', false);
setTimeout(function() {
return self.questions[self.level() - 1].question;}, 5000);
}
我添加了setTimeout
但它不起作用。我想在聲音結束5秒後顯示問題。setTimeout()不能用於返回值
self.getQuestionText = function() {
startSound('levelq', false);
setTimeout(function() {
return self.questions[self.level() - 1].question;}, 5000);
}
setTimeout()
in asynchronous並返回回調函數中的值。改變你的js的結構。
相反的:
self.getQuestionText = function() {
startSound('levelq', false);
setTimeout(function() {
return self.questions[self.level() - 1].question;
}, 5000);
}
// The rest of the code
使用回調結構:
self.getQuestionText = function() {
startSound('levelq', false);
setTimeout(function() {
self.getQuestionText = self.questions[self.level() - 1].question;
// The rest of the code
}, 5000);
}
問題仍然沒有顯示....和聲音工作正常.. –
@MuhammadDanish由於這個答案是爲什麼這段代碼無法工作的一般原因,我將留在這裏爲其他人在未來。同時,請編輯您的問題並添加更多代碼。在試圖展示問題的位置添加代碼('self.getQuestionText = ...'行後的內容以及您想要對變量進行的操作)。也添加相關的html。你可能有更多的錯誤。 –
我已經發布完整的代碼。該代碼用於在問答遊戲中抓取當前問題的問題文本。 –
的可能的複製[如何在JavaScript中的setTimeout在函數返回值(http://stackoverflow.com/questions/ 25129057/how-to-make-javascript-settimeout-returns-in-a-function) –
不要毫無意義地** **在美國**。只需清楚地提供您的問題,並提供完整的信息。 –
我做錯了什麼?我回答說,分號後,它仍然無法正常工作... –