首页 > 解决方案 > 如何更改另一个函数 javascript 中的函数变量?

问题描述

    static registerUser(firstName,lastName,email,password,phoneNumber,zipcode) {
    var insertedIdValue = -1;
    connection.query(
      "SELECT * from users where email = ? OR PhoneNumber = ?",
      [email, phoneNumber],
      async (err, result, fields) => {
        if (err) throw err;

        if (result.length == 0) {
          const salt = await bcrypt.genSalt(saltRounds);
          const encryptedPassword = await bcrypt.hash(password, salt);
          connection.query(
            "INSERT INTO users (FirstName, LastName, Email, password, PhoneNumber, Zipcode) VALUES (?,?,?,?,?,?)",
            [firstName, lastName, email, encryptedPassword, phoneNumber, zipcode],
            (err, result, fields) => {
              if (err) throw err;
              insertedIdValue = result.insertId;
            }
          );
        }
      }
    );
    return insertedIdValue;
  }

我试图从这个静态函数返回insertedIdValue,我已经将它初始化为-1,但是我无法在查询执行的箭头函数中将其更改为插入的id?我是否缺少一些 javascript 概念,是否无法在另一个函数中访问外部变量

该分配确实尝试分配 insertId,但它看起来像 insertIdValue 有另一个局部变量,而不是外部范围变量。如何访问外部范围一?谢谢

标签: javascriptnode.jsexpress

解决方案


推荐阅读