关于异步的处理方法
今天有个业务需求需要将数据分别传到后台加密处理,然后我这边再统一处理发送到后台。。。异步很麻烦的地方就是,你想要进行相关的操作就必须得在异步当中进行,不然同时执行了,是获取不到异步当中的数据的
var str = "" for(var i = 0; i < arr.len; i++) { $.ajax({ }).then(()=>{ str += add[i].data }) } console.log(str)
类似于上面这种感觉,这时候得到的肯定是个空字符串。但是怎么解决呢?
var str = "" var count = 0; for(var i = 0; i < arr.length; i++) { $.ajax({ }).then(()=>{ count++; str += add[i].data; if(count === arr.length) { console.log(str) } }) }
可以通过计数的方式,像上面这么写,这样可以得到最终的拼接字符串
正常情况的异步,可以通过回调的方式来解决,或者可以试试promise