2016-03-28 3 views
2

Несколько часов назад я спросил у этого question. Я пытался устранить эту проблему, когда я обрушился на эту текущую проблему.Не получать ответ на тот же запрос, если выполнено более 10 раз в том же скрипте, используя node-mysql

Вот цикл, если я выполняю функцию selectPhotoById более 10 раз, я получаю ответ только за 10 запросов.

Пример для следующего цикла.

for (var i = 0; i < 4; i++) { 
    db.selectPhotoById("12246", function (res) { 
     console.log(res[0].ID); 
    }); 
} 

в ответ консоли, я получаю

12246 
12246 
12246 
12246 

Это прекрасно работает, но если я увеличить цикл как

for (var i = 0; i < 24; i++) { 
    db.selectPhotoById("12246", function (res) { 
     console.log(res[0].ID); 
    }); 
} 

я получаю только 10 идентификаторов в качестве ответа

12246 
12246 
12246 
12246 
12246 
12246 
12246 
12246 
12246 
12246 

Вот код файла wh если запросы написаны

var mysql = require('node-mysql'); 
var DB = mysql.DB; 
var photo = new DB({ 
    host: 'localhost', 
    user: 'root', 
    password: 'root', 
    database: 'photo' 
}); 

function DataBase() { 
} 

DataBase.prototype.selectPhotoById = function (photo_id, callback) { 
    photo.connect(function (conn, cb) { 
     conn.query("select * from photo where ID =" + photo_id, function (err, res) { 
      if (err) 
       throw err; 

      return callback(res); 
     }); 
    }); 
} 

DataBase.prototype.insertThumb = function(photo_id, blob, size, callback){ 
    photo.connect(function(conn, cb){ 
     var query = 'INSERT INTO photo.photo_thumb (`photo_id`, `thumb`, `size`) values ("'+photo_id+'", "'+blob+'", "'+size+'")'; 
     conn.query(query, function (err, res){ 
      if (err) throw err; 
      return callback(res); 
     }); 
    }); 
} 

DataBase.prototype.checkThumb = function(photo_id, size, callback){ 
    photo.connect(function(conn, cb){ 
     var query = 'SELECT count(*) as count FROM photo.photo_thumb WHERE photo_id = "'+photo_id+'" AND size = "'+size+'"' 
     conn.query(query, function(err, res){ 
      if(err)throw err; 
      return callback(res); 
     }); 
    }); 
} 

module.exports = DataBase; 

Такая же проблема возникает и для запроса на вставку. Это проблема с пакетом node-mysql или проблема связана с моим кодом?

+0

попытайтесь обработать 'err' в журнале консоли также (непосредственно в прототипе тела). – mitkosoft

+0

ok дайте мне попробовать. –

+0

@mitkosoft Тот же ответ, даже если я делаю 'console.log (err)' в запросе. –

ответ

0

Ну, проблема, вероятно, была связана с пакетом node-mysql, как я узнал после использования другого пакета mysql для Node.js, который также кажется более популярным, чем тот, который я использовал, и более стабильный. Все отлично работает с новым пакетом. Я, вероятно, рассмотрю эту проблему с автором node-mysql на github для разрешения.

 Смежные вопросы

  • Нет связанных вопросов^_^