function test() {
/*some business logic*/
return response;
}
function calculate() {
if (test() == true) {
console.log("Success");
} else {
console.log("Fail");
}
}
我的測試功能是在不同的js文件,做一些業務的處理(需要一些時間)數據並返回boolean
響應。如何使功能響應同步與其他功能的其他語句
我從計算函數調用測試函數(在不同的js文件中)。 我期待控制檯輸出爲'success
'(測試函數總是返回true),但它給了我'Fail
'。但如果我調試此代碼,並有時在'(if(test()==true))
'等待,那麼我得到預期的輸出。基本上它是一個同步問題。我該如何解決這個問題?
JavaScript是異步的。不知道'test()'究竟是在做什麼,人們無法幫助你弄明白。 'test()'是需要工作的位。如果它發出網絡請求等,你真的應該看看承諾或回調,而不是。 JavaScript是單線程的,如果你把它做成同步ajax請求,你會在等待響應時鎖定瀏覽器。 – ste2425
不,javascript是**同步**和單線程。在進行異步請求時,它只是異步的。 –
其真正的丹尼爾.. JavaScript是同步語言..其實問題是用測試方法編寫的業務邏輯..它現在已經解決了。謝謝 –