Home  >  Q&A  >  body text

javascript 作用域问题

function(req,res,next) {
  if(!res.locals.menus) {
    var menus={};
    page_proxy.getLevel1Page().then(
      function(main_menus) {
        _(main_menus).forEach(function(parent) {
          var pageid=parent.page_id;
          page_proxy.getLevel2PageLink(pageid).then(
            function(sub_menus) {
              menus[pageid]=sub_menus;
            },
            function(err) {
              next(err);
            }
          );
        });
        res.locals.menus=menus;
      },
      function(err) {
        next(err);
      });
  }
  next();
}

不知道这段代码问题出在哪,我的意图是想在查询完数据后动态的为menus动态添加属性,但为什么后获取的menus的值一直为{}(数据库中有数据)。是不是作用域的问题?大神们帮帮给看一下。

PHP中文网PHP中文网2770 days ago439

reply all(1)I'll reply

  • 天蓬老师

    天蓬老师2017-04-11 12:08:29

    这个动态生成用事件委托,就可以

    reply
    0
  • Cancelreply