页面中有两个按钮,A和B,点击的话分别会发送ajaxA和ajaxB,
有这样的bug,点击A后,没有返回之前,去点击B,返回B,这是A也返回了,容易造成混乱,
这个问题能用promise解决吗,能的话怎么解决呢;看过别人的代码但是在没明白是怎么回事;
var promise = Promise.resolve();
$('.btn1').click(()
=>
{
promise = promise.then(()
=>
{
return new Promise((reslove)
=>
{
$.ajax({url: 'url1', success(res1)
{
$('.input').val(res1);
reslove();
}
})
;
}
)
;
}
)
;
}
)
;
$('.btn2').click(()
=>
{
promise = promise.then(()
=>
{
return new Promise((reslove)
=>
{
$.ajax({url: 'url2', success(res2)
{
$('.input').val(res2);
reslove();
}
})
;
}
)
;
}
)
;
}
)
;
看上去就是声明了一个全局的
promise
对象,btn.click
的时候会用全局对象promise
的then
执行本来click
要做的事情,并更新全部promise
。这样你按钮点击就会形成一个promise
链,应该能解决你的问题。