UNPKG

ycall

Version:

Use generators and yield to write regular callback-based functions

58 lines (42 loc) 1.51 kB
var { yfy_node, cfy_node, ycall_node, cfy, } = require('./index'); // require('ycall') var cfy_node_example = cfy_node(function*() { var result = yield Promise.resolve(5); // 5 return result; }); cfy_node_example(function(err, x) { console.log(x) }); // 5 cfy_node_example().then(function(x) { console.log(x) }); function add_async_node(x, y, nodeback) { setTimeout(function() { nodeback(null, x + 1); }, 1000); } var ycall_node_example = cfy_node(function*() { var result = yield ycall_node(add_async_node, 5, 1); // 6 return result; }); ycall_node_example(function(err, x) { console.log(x) }); // 6 var yfy_node_example = cfy_node(function*() { var result = yield yfy_node(add_async_node)(5, 1); // 6 return result; }); yfy_node_example(function(err, x) { console.log(x) }); // 6 var yfy_nodeback_to_callback_example = cfy(function*() { var result = yield yfy_node(add_async_node)(5, 1); // 6 return result; }); yfy_nodeback_to_callback_example(function(x) { console.log(x) }); // 6 var yfy_node_example_with_arguments = cfy_node(function*(a, b) { var result = yield yfy_node(add_async_node)(5, 1); // 6 return result + a + b; }); yfy_node_example_with_arguments(2, 7, function(err, x) { console.log(x) }); // 15 var ycall_node_example_with_arguments = cfy_node(function*(a, b) { var result = yield ycall_node(add_async_node, 5, 1); // 6 return result + a + b; }); ycall_node_example_with_arguments(2, 7, function(err, x) { console.log(x) }); // 15