@senerg said in TypeError: Result of expression 'rand' [1] is not a function - Ошибка:
@symposium
var rand = Math.floor(Math.random() * arr.length);
попробуй вместонаписать:
[[RAND]] = Math.floor(Math.random() * arr.length);
Спасибо! Работает!
В общем ситуация такая
решил я что б один и тоже код не писать в разных проектах
скинуть его в свой собственный модуль
у меня там идет работа с базой и в разных проектах название этих баз разные к примеру у проекта 1 пусть будет db1 у проекта 2 db2
В каждом из этих проектов идет коннект со своей базой
проект 1
const mysql = require("mysql2/promise");
global.db1 = mysql.createPool({
host: 'localhost',
user: 'user',
database: 'db1',
password: "pass",
waitForConnections: true,
connectionLimit: 32,
queueLimit: 0
});
проект 2
const mysql = require("mysql2/promise");
global.db2 = mysql.createPool({
host: 'localhost',
user: 'user',
database: 'db2',
password: "pass",
waitForConnections: true,
connectionLimit: 32,
queueLimit: 0
});
Так вот мне нужно как то иметь возможность из этого модуля обращаться к базе проекта к которому он подключен
Для этого я в функции модуля создал параметр который назвал db и нем указываю к какой базе в данном случае модуль должен подключаться
сам параметр в функцию модуля успешно передается
и далее в функции модуля которая должна получить из указанной базы я пытаюсь написать
await global.[[DB]].query("SELECT * FROM table")
.then(results =>{
})
.catch(function(err) {
console.log(err.message);
});
и вот тут то и всплывает эта ошибка
Cannot read property 'DB' of undefined
которая не дает мне получить имя базы так как я обращаюсь к переменной как имени свойства объекта