问个关于异步回调的问题,这里真的搞不定啊
发布于 8 年前 作者 m949976269 2914 次浏览 来自 问答

getusersmsgcount函数 QQ图片20160822224719.png

主函数 QQ图片20160822224730.png

我的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 我找到原因了 QQ图片20160823092444.png 我那个函数是处理的arr,我用的for-each,我是在循环外resolve的arr,这样往下传的还是原来的arr

@ncuzp 我应该怎么去处理这样的数组,在第一个then方法里面用promise.all可以么

@m949976269 额 确实是, 你循环里面居然还是异步查询😓,可以的啊每次循环你用promise包起来,然后promise.all就可以了

回到顶部