问个关于异步回调的问题,这里真的搞不定啊
getusersmsgcount函数
主函数
我的getusersmsgcount函数没有起作用,最后返回的array还是我getusers函数拿到的array
6 回复
我的getusersmsgcount函数没有起作用,最后返回的array还是我getusers函数拿到的array
你的后面的function(){res.json…}这里就是promise里的回调函数,你要在参数里面加个result,不加你怎么得到结果哦,建议看下promise的基础知识
可能有几个原因:
getusersmsgcount
这个函数forEach的过程中被reject了,这个可以在Promise链后面加个catch看看- 这里没看到
getusers
这个函数, 是不是把array给对象给覆盖了, 改变了对象的指向
至于楼上说的这个, 主要还是要看情况, 如果你的promise链是连续的, 可以通过resolve将结果传到下一个then里, 如果两个promise链关联性不是很大, 是可以用你这种全局变量的方法的
@ncuzp 我找到原因了 我那个函数是处理的arr,我用的for-each,我是在循环外resolve的arr,这样往下传的还是原来的arr
@ncuzp 我应该怎么去处理这样的数组,在第一个then方法里面用promise.all可以么
@m949976269 额 确实是, 你循环里面居然还是异步查询😓,可以的啊每次循环你用promise包起来,然后promise.all就可以了