What is a thunk?
A thunk, as Michael Fogus defines in his book "Functional Javascript", is "a function that wraps some behavior for later execuation". Specifically, in Node.js, a thunk of a function fn
is a function that partially applies all the arguments of fn
except the callback. As a result, the returned function accepts only one argument, which is a callback. For example, let's take a look at the readFile
function. Its syntax is as following.
var readFile = require('fs').readFile;
readFile('path/to/file', 'utf-8', function(err, data) {
if (err) throw err;
console.log(data);
});