コード例 #1
0
ファイル: rights.js プロジェクト: Countly/countly-server
/**
* Wrap callback using promise
* @param {params} params - {@link params} object
* @param {function} callback - function to call only if validation passes
* @param {any} callbackParam - parameter to pass to callback function 
* @param {function} func - promise function
* @returns {Promise} promise
*/
function wrapCallback(params, callback, callbackParam, func) {
    var promise = new Promise(func);
    if (callback) {
        promise.asCallback(function(err) {
            if (!err) {
                if (callbackParam) {
                    callback(callbackParam, params);
                }
                else {
                    callback(params);
                }
            }
        });
    }
    return promise;
}
コード例 #2
0
ファイル: client.js プロジェクト: CoursePark/knex
    })
  },

  // Destroy the current connection pool for the client.
  destroy(callback) {
    const client = this
    const promise = new Promise(function(resolver) {
      if (!client.pool) return resolver()
      client.pool.end(function() {
        client.pool = undefined
        resolver()
      })
    })
    // Allow either a callback or promise interface for destruction.
    if (typeof callback === 'function') {
      promise.asCallback(callback)
    } else {
      return promise
    }
  },

  // Return the database being used by this client.
  database() {
    return this.connectionSettings.database
  },

  toString() {
    return '[object KnexClient]'
  },

  canCancelQuery: false,