我正在尝试调用一个函数,其中一个循环运行,其中存在许多回调函数(回调地狱)..如下所示:
for(var i=0;i<data.id.length;i++)
{
DAO.getUserById(data.id[i],function(err,resp1)
{
/* some other work based on resp1 */
DAO.getOtherData(resp1.username,resp1.userId,function(err,resp2)
{
/* similary some other work*/
});
});
}
我的应用程序中有几个地方都使用了相同的模式,有时候我会遇到回调函数出现问题的情况。循环已经结束了,但是回调函数仍然没有响应。这似乎是DAO方法已被调用,但仍在等待响应。
有没有一种优化的方法来解决这个问题呢?除了任何第三方库之外,是否有可用的JavaScript编码模式可以解决这个问题。谢谢。