var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "root",
password: "1111",
database: "crypto"
});
function get_date() {
con.connect(function () {
con.query("SELECT * FROM btc", function (err, result, fields) {
var array = [result.length];
var string = JSON.stringify(result);
var json = JSON.parse(string);
for (var i = 0; i < result.length; i++) {
if (json[i].price != "null") {
array.push(json[i].price)
}
}
return array
})
});
}
Asked
Active
Viewed 52 times
-1
Михаил Ребров
- 6,029
1 Answers
0
В функции function get_date() нету return соответственно ничего не возвращает.
Никита Самоуков
- 703
return arrayнаходится в функции, которую вы передаёте в виде параметра при вызове методаcon.query(), а не в функцииget_date, и мне кажется что в данном примере вам лучше использоватьcallback, – Михаил Ребров Aug 08 '18 at 22:48con.query(), не возвращает данные, а принимает функцию обратного вызова и Вам ничего не остаётся кроме того, чтобы обрабатывать данные асинхронно в колбеке. В JS это очень распространенный паттерн. Либо ищите аналогcon.query(), который возвращает данные...либо подумайте над тем, тот ли стек технологий Вы выбрали, поскольку само устройство языка JavaScript, вынуждает постоянно использовать колбеки. В JavaScript Вам от них не убежать и Вам придётся так или иначе с ними работать. – Михаил Ребров Aug 08 '18 at 23:14var test=function(){alert('test');};, а потом вызываете её:test();.Однако в данном случае обращение к анонимной функции Вам также не поможет, потому что вызываете её не Вы. – Михаил Ребров Aug 08 '18 at 23:19