Skip to content

Instantly share code, notes, and snippets.

@fend25
Last active May 14, 2016 10:04
Show Gist options
  • Save fend25/440a66f9189b1cc66a563ef5d480085f to your computer and use it in GitHub Desktop.
Save fend25/440a66f9189b1cc66a563ef5d480085f to your computer and use it in GitHub Desktop.
{
"presets": ["es2015-node6"],
"plugins": [
"transform-async-to-generator",
"syntax-async-functions"
],
"sourceMaps": "inline"
}
'use strict';
const pgp = require('pg-promise')();
const db = pgp({
host: 'localhost',
port: 5432,
database: 'postgres',
user: 'user',
password: 'password',
ssl: false
});
db.connect();
const co = require('co');
function* waitAndPrint(n) {
return new Promise(function (resolve) {
console.log(n);
setTimeout(resolve, n);
});
}
function* handler() {
const one = yield db.task(function* (t) {
const result = yield t.oneOrNone('SELECT 1 as one');
yield waitAndPrint(1000);
console.log(result.one);
return result.one;
});
console.log(one);
}
co(handler);
'use strict';
const pgp = require('pg-promise')();
const db = pgp({
host: 'localhost',
port: 5432,
database: 'postgres',
user: 'user',
password: 'password',
ssl: false
});
db.connect();
async function waitAndPrint(n) {
console.log(Date.now(), n);
return new Promise(resolve => setTimeout(function() {
console.log(Date.now(), n);
resolve();
}, n));
}
async function handler() {
await db.task(async function(t) {
const result = await t.none('SELECT 1 as one');
await waitAndPrint(1000);
console.log(Date.now(), result.one);
return result.one;
});
process.exit();
}
handler();
'use strict';
let waitAndPrint = (() => {
var ref = _asyncToGenerator(function* (n) {
console.log(Date.now(), n);
return new Promise(function (resolve) {
return setTimeout(function () {
console.log(Date.now(), n);
resolve();
}, n);
});
});
return function waitAndPrint(_x) {
return ref.apply(this, arguments);
};
})();
let handler = (() => {
var ref = _asyncToGenerator(function* () {
yield db.task((() => {
var ref = _asyncToGenerator(function* (t) {
const result = yield t.oneOrNone('SELECT 1 as one');
yield waitAndPrint(1000);
console.log(Date.now(), result.one);
return result.one;
});
return function (_x2) {
return ref.apply(this, arguments);
};
})());
process.exit();
});
return function handler() {
return ref.apply(this, arguments);
};
})();
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { return step("next", value); }, function (err) { return step("throw", err); }); } } return step("next"); }); }; }
const pgp = require('pg-promise')();
const db = pgp({
host: 'localhost',
port: 5432,
database: 'postgres',
user: 'user',
password: 'password',
ssl: false
});
db.connect();
handler();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBncF90ZXN0X2FzeW5jLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OEJBYUEsV0FBNEIsQ0FBNUIsRUFBK0I7QUFDN0IsWUFBUSxHQUFSLENBQVksS0FBSyxHQUFMLEVBQVosRUFBd0IsQ0FBeEIsRUFENkI7QUFFN0IsV0FBTyxJQUFJLE9BQUosQ0FBWTthQUFXLFdBQVcsWUFBVztBQUNsRCxnQkFBUSxHQUFSLENBQVksS0FBSyxHQUFMLEVBQVosRUFBd0IsQ0FBeEIsRUFEa0Q7QUFFbEQsa0JBRmtEO09BQVgsRUFHdEMsQ0FIMkI7S0FBWCxDQUFuQixDQUY2QjtHQUEvQjs7a0JBQWU7Ozs7Ozs4QkFPZixhQUF5QjtBQUN2QixVQUFNLEdBQUcsSUFBSDtrQ0FBUSxXQUFlLENBQWYsRUFBa0I7QUFDOUIsY0FBTSxTQUFTLE1BQU0sRUFBRSxTQUFGLENBQVksaUJBQVosQ0FBTixDQURlO0FBRTlCLGNBQU0sYUFBYSxJQUFiLENBQU4sQ0FGOEI7QUFHOUIsZ0JBQVEsR0FBUixDQUFZLEtBQUssR0FBTCxFQUFaLEVBQXdCLE9BQU8sR0FBUCxDQUF4QixDQUg4QjtBQUk5QixlQUFPLE9BQU8sR0FBUCxDQUp1QjtPQUFsQjs7Ozs7UUFBUixDQUFOLENBRHVCO0FBT3ZCLFlBQVEsSUFBUixHQVB1QjtHQUF6Qjs7a0JBQWU7Ozs7Ozs7QUFsQmYsTUFBTSxNQUFNLFFBQVEsWUFBUixHQUFOO0FBQ04sTUFBTSxLQUFLLElBQUk7QUFDYixRQUFNLFdBQU47QUFDQSxRQUFNLElBQU47QUFDQSxZQUFVLE9BQVY7QUFDQSxRQUFNLFlBQU47QUFDQSxZQUFVLFdBQVY7QUFDQSxPQUFLLEtBQUw7Q0FOUyxDQUFMO0FBUU4sR0FBRyxPQUFIOztBQW1CQSIsImZpbGUiOiJwZ3BfdGVzdF9hc3luYy5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcclxuXHJcbmNvbnN0IHBncCA9IHJlcXVpcmUoJ3BnLXByb21pc2UnKSgpO1xyXG5jb25zdCBkYiA9IHBncCh7XHJcbiAgaG9zdDogJ2xvY2FsaG9zdCcsXHJcbiAgcG9ydDogNTQzMixcclxuICBkYXRhYmFzZTogJ2J1czJiJyxcclxuICB1c2VyOiAnYnVzMmJfdXNlcicsXHJcbiAgcGFzc3dvcmQ6ICdidXMyYnBhc3MnLFxyXG4gIHNzbDogZmFsc2VcclxufSk7XHJcbmRiLmNvbm5lY3QoKTtcclxuXHJcbmFzeW5jIGZ1bmN0aW9uIHdhaXRBbmRQcmludChuKSB7XHJcbiAgY29uc29sZS5sb2coRGF0ZS5ub3coKSwgbik7XHJcbiAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChmdW5jdGlvbigpIHtcclxuICAgIGNvbnNvbGUubG9nKERhdGUubm93KCksIG4pO1xyXG4gICAgcmVzb2x2ZSgpO1xyXG4gIH0sIG4pKTtcclxufVxyXG5hc3luYyBmdW5jdGlvbiBoYW5kbGVyKCkge1xyXG4gIGF3YWl0IGRiLnRhc2soYXN5bmMgZnVuY3Rpb24odCkge1xyXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdC5vbmVPck5vbmUoJ1NFTEVDVCAxIGFzIG9uZScpO1xyXG4gICAgYXdhaXQgd2FpdEFuZFByaW50KDEwMDApO1xyXG4gICAgY29uc29sZS5sb2coRGF0ZS5ub3coKSwgcmVzdWx0Lm9uZSk7XHJcbiAgICByZXR1cm4gcmVzdWx0Lm9uZTtcclxuICB9KTtcclxuICBwcm9jZXNzLmV4aXQoKTtcclxufVxyXG5cclxuaGFuZGxlcigpOyJdfQ==
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment