【问题标题】:Visual Studio shows error "Unreachable code" in JavaScriptVisual Studio 在 JavaScript 中显示错误“无法访问的代码”
【发布时间】:2023-03-28 04:18:01
【问题描述】:

我正在使用 NODE 编写 API,但在编写 VC 时显示错误“无法访问代码”,在下一个代码中:

const expressJwt = require('express-jwt')
const _ =require('lodash')
const { OAuth2Client } = require('google-auth-library')
const fetch = require('node-fetch')
const {validationResult} = require('express-validator')
const jwt = require('jsonwebtoken')
//Esto es para obtener el error de la  base de datos, se puede personalizar para hacerlo amigable.
const { errorHandler} =require('../helpers/dbErrorHandling')
//el siguiente const se usará para enviar correos
const sgMail = require('@sendgrid/mail')

const pool = require('../database/connection')








exports.AuthController = (req, res) => { 
    const email = (req.params.email);
    let sql = `select User_email from user where User_email = ${email}`;
    const mail = poo.query(sql);

    if(email.length = 0) {
        return res.json({
            code: 404,
            message: "Equipo no encontrado",
            data: [],
        })

    }else{
        return res.json({
            code: 404,
            message: "",
        })

    //generate token

    *const token = jwt.sign({
        email
    }, 
    process.env.ACCES_TOKEN_SECRET,{
        expiresIn: '1440m'
    }
    )

    const emailData = {
        from: process.env.EMAIL_FROM,
      to: email,
      subject: 'Account activation link',
      html: `
                <h1>Please use the following to activate your account</h1>
                <p>${process.env.CLIENT_URL}/users/activate/${token}</p>
                <hr />
                <p>This email may containe sensetive information</p>
                <p>${process.env.CLIENT_URL}</p>
            `
    }

    }

}*

没有收到我的内容是“*”之间的内容,所以如果知道发生了什么,我将不胜感激。

【问题讨论】:

  • 你的意思是 unreachable code 你提到 unresearch code 吗?该消息意味着代码永远无法运行。
  • @seyeredg :您得到了评论和答案,通常您应该留下一些反馈,如果它有帮助或没有帮助,并接受/投票解决/回答您的问题的答案。

标签: javascript node.js express jwt


【解决方案1】:

你是指无法访问的代码,你提到无法研究的代码?该消息意味着代码永远无法运行。

在您的情况下,您 return 来自 ifelse 分支上的函数。编译器对此非常聪明。

if(email.length = 0) {
    return res.json({                    /* returns, exiting function */
        code: 404,
        message: "Equipo no encontrado",
        data: [],
    })
} else {
    return res.json({                    /* also returns, exiting function */
        code: 404,
        message: "",
    })
}
/* execution can never get here, so code below is unreachable. */

你想要if (email.length === 0)if (email.length = 0) 在运行时失败,因为 length 是字符串的只读属性。您不能将 0 值放入其中。

有一个Spanish-language pack for Visual Studio Code here。您可能会发现它很有帮助,尤其是在您刚刚开始学习的时候。

【讨论】:

    猜你喜欢
    • 2021-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-16
    • 2021-05-16
    • 1970-01-01
    相关资源
    最近更新 更多