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是同步语言..其实问题是用测试方法编写的业务逻辑..它现在已经解决了。谢谢 –