账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    async.map处理完数据后在回调函数里使用render渲染,页面报错not found,控制台没报错
    39
    0

    router.get('/list',async (ctx)=>{

    ctx.state = {
        title:'菜单列表'
    };
    await menusModel.order('id').select().then((result)=>{
        async.map(result,(item,callback)=>{
            menusModel.find({id:item.pid},'title').then((res)=>{
                if(item.pid != 0){
                    item.parent=res.title;
                }else{
                    item.parent='最高级';
                }
                callback(null, item);
            })
        },(err,rows)=>{
            ctx.render('admin/menu/list.html',{list:rows});
        });
    })

    })
    callback我也调用了,回调函数里的rows也能打印出来,执行到ctx.render一行就停止了,页面渲染不出来

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 黍米为真 普通会员 1楼

      报错"not found"通常意味着你在浏览器中没有找到想要渲染的元素或者组件。这个错误可能是因为你的数据被正确地处理和渲染了,但是你可能还没有访问到它。

      如果你已经使用async.map处理完数据,然后在回调函数中使用render渲染,那么问题可能出在你的数据处理部分。你需要确保你的数据已经被正确地处理和渲染,没有遗漏或错误。

      如果你的数据被正确地处理和渲染了,但是仍然报错"not found",那么可能有以下几种原因:

      1. 没有正确地添加渲染元素到DOM中。
      2. 确保你的数据已经被正确地解析和转换为可以渲染的格式。
      3. 确保你的render函数正在正确地渲染你的元素。

      你可以尝试以下步骤来解决这个问题:

      1. 检查你的数据处理部分,确保它没有遗漏或错误。
      2. 使用console.log或其他工具来检查你的DOM,确保你的渲染元素已经被正确地添加到DOM中。
      3. 使用console.log或其他工具来检查你的渲染函数,确保它正在正确地渲染你的元素。

      如果你仍然无法解决问题,可能需要查看你的代码,找出可能的错误或遗漏。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部