Return不等待其他函数返回值

时间:2019-04-23 16:12:39

标签: javascript node.js

CheckIfExists函数不等待setErrors返回值。因此,当我将错误作为一个空对象时。


const con = require("../config/keys");
const isEmpty = require("./is-empty");

let errors = {};

setErrors = error => {
  errors = error;
};

module.exports = checkIfExists = (data, table) => {
  con.query(
    `SELECT * FROM ${table} WHERE particulars = '${data}'`,
    (error, results) => {
      if (error) {
        return console.error(error.message);
      }

      console.log(results);

      if (typeof results !== "undefined" && results.length > 0) {
        errors.particulars = "Particulars already exists";
        setErrors(errors);
      }
    }
  );

  console.log(errors);

  return {
    errors,
    isUnique: isEmpty(errors)
  };
};


如何使CheckIfExists等待setErrors返回值。

当前输出

{}
[ RowDataPacket {
    serial_number: 109,
    id: 0,
    particulars: 'ABCD',
    party: 'ABC',
    make: null }
]

所需的输出

[ RowDataPacket {
    serial_number: 109,
    id: 0,
    particulars: 'ABCD',
    party: 'ABC',
    make: null }
]
{}

谢谢。

0 个答案:

没有答案
相关问题