我正在尝试复制 devconnector 项目,但是当我发出发布请求配置文件路由创建配置文件时,发布请求处于待处理状态

Posted

技术标签:

【中文标题】我正在尝试复制 devconnector 项目,但是当我发出发布请求配置文件路由创建配置文件时,发布请求处于待处理状态【英文标题】:I'm trying to replicate the devconnector project but when I make post request a profile route create profile the post request is pending 【发布时间】:2022-01-15 02:10:00 【问题描述】:

这是路线:

router.post(
      '/',
      [  auth,
        check('status', 'Status is required').not().isEmpty(),
        check('skills', 'Skills is required').not().isEmpty(),
      ],
      async (req, res) => 
        const errors = validationResult(req);
        if (!errors.isEmpty()) 
          return res.status(400).json( errors: errors.array() );
        
    
        // destructure the request
        const 
          website,
          skills,
          youtube,
          twitter,
          instagram,
          linkedin,
          facebook,
          // spread the rest of the fields we don't need to check
          ...rest
         = req.body;
    
        // build a profile
        const profileFields = 
          user: req.user.id,
          website:
            website && website !== ''
              ? normalize(website,  forceHttps: true )
              : '',
          skills: Array.isArray(skills)
            ? skills
            : skills.split(',').map((skill) => ' ' + skill.trim()),
          ...rest
        ;
    
        // Build socialFields object
        const socialFields =  youtube, twitter, instagram, linkedin, facebook ;
    
        // normalize social fields to ensure valid url
        for (const [key, value] of Object.entries(socialFields)) 
          if (value && value.length > 0)
            socialFields[key] = normalize(value,  forceHttps: true );
        
        // add to profileFields
        profileFields.social = socialFields;
    
        try 
          // Using upsert option (creates new doc if no match is found):
          let profile = await Profile.findOneAndUpdate(
             user: req.user.id ,
             $set: profileFields ,
             new: true, upsert: true, setDefaultsOnInsert: true 
          );
          return res.json(profile);
         catch (err) 
          console.error(err.message);
          return res.status(500).send('Server Error');
        
      
    );

这是 Axios

                   axios.post('/api/profile',profileData, headers:
            'x-auth-token': localStorage.getItem('jwtToken')
          ).then(data => console.log(data)).catch(e => console.error(e))

这是个问题: pending

【问题讨论】:

【参考方案1】:

您是否尝试过使用调试器来跟踪软件流程? 你有快递方面的日志吗? 我将开始检查是否达到let profile = await Profile.findOneAndUpdate 以定义问题是否从数据库请求开始。 在这个阶段我会说执行正在等待数据库超时

【讨论】:

以上是关于我正在尝试复制 devconnector 项目,但是当我发出发布请求配置文件路由创建配置文件时,发布请求处于待处理状态的主要内容,如果未能解决你的问题,请参考以下文章

我正在尝试复制数组,但它们都有相同的链接

尝试构建我的项目时,将 gms/firebase 升级到版本 15.0.0 会导致 gradle 崩溃? [复制]

序言,复制列表

如何删除数组中的项目? [复制]

复制 Jquery Draggables

循环通过一些但不是所有的列? [复制]