Использование co с node-mysql2

Я использую библиотеку co с node-mysql2.

 const newActivityCount = co.wrap(function *(memberId) {
     var sql = "SELECT 1";
     var conn = yield pool.getConnection();
     var results = yield conn.execute(sql);
     yield conn.release();
     return results[0][0].newActivity;
 });

Это используется как

 newActivityCount()
   .then(..something)
   .catch(err => { throw err;});

Следующая ошибка - throw:

You may only yield a function, promise, generator, array, or object, but the following object was passed: "undefined"

Вот как определяется пул:

// my-connection.js
var mysql = require('mysql/promise');
var bluebird = require('bluebird);

const pool = mysql.createPool({
  connectionLimit: CONFIG.mysql.connectionLimit,
  host           : CONFIG.mysql.host,
  user           : CONFIG.mysql.user,
  password       : CONFIG.mysql.password,
  database       : CONFIG.mysql.database,
  Promise        : bluebird
});

module.exports = pool;

ОДНАКО, если я изменю строку 5 выше с

 yield conn.release()  to  conn.release()

т.е. если я удалю ключевое слово yield, все будет работать нормально.

По мнению автора:

Он рекомендует использовать yield conn.end()Я беспокоюсь, что если я не "уступлю" там, я могу что-то испортить.

Любые подсказки, что я здесь скучаю?

0 ответов

Другие вопросы по тегам