首先我要澄清一下,我已经在2个多小时内搜索了我的答案解决方案,似乎无法找到解决方案。
我有一个函数addProductCheck();
此项功能在项目点击时调用,似乎没有任何困难。运行带回调的下一个函数时会出现问题。
cartProductExists(objectVars, function(cartItem) {
}
这是为了对我的数据库运行异步调用,检查购物车表中的项目,然后返回带有结果的回调以进行进一步操作。
cartProductExists(objectVars, function(cartItem) {
if (cartItem != null) {
//Ran after callback returns as cartItem is no longer null
}else{
//Gets ran the first time cartProductsExists is called, when it shouldn't.
}
}
我不知道我在哪里出错了,据我所知,回调中的其余代码甚至不应该运行直到回调触发响应。
任何人都可以帮我解决这个问题吗?
答案 0 :(得分:0)
我的印象是在我的cartProductExists()
函数中,我需要在最后一行放置一个callBack()
,因为我的查询只会在找到我正在寻找的对象的情况下进行回调对于。我原以为在最后有一个会返回一个空回调来继续这个过程。
显然正在发生的事情是,当我的异步事件正在等待时,它仍然继续到我的代码结束并触发第二个callBack()
,但在我的异步任务完成之前。
答案 1 :(得分:0)
if (cartItem == null || cartItem == "") {
//Ran after callback returns as cartItem is no longer null
} else {
//Gets ran the first time cartProductsExists is called, when it shouldn't.
}
你可以这样试试吗?