Async - Nodejs doUntil inside waterfall

I am working on project where i need nodejs async to wait until i get data from server

below is what i did

response of async: "done waterfall done doUntil false" instead "doUntil false, done waterfall"

when i changed the server's response to OK i got the error "undefined callback"

getData OK { message: 'OK' }

TypeError: undefined is not a function at D:\node_modules\async\lib\async.js:729:17

var request = require('request-json')
    async   = require('async');

function startTest() {
    var self = this;
    self.on('fake', onFake);
    setInterval(function() {
        self.emit('fake', {fake: 'done'});
    }, 1000);
}

//doUntil
function onFake(data) {
    async.waterfall(
        [
            //get data and test against message === 'OK'
            function(next) {
                var _message = false;
                async.doUntil(
                    //iterator
                    function(done) {
                        getData(function(err, res) {
                            if(err) {
                                console.log('getData KO');
                                done(err, null);
                            }else{
                                console.log('getData OK', res);
                                done(null, res);
                            }
                        });
                    },
                    //test against
                    function(resp){
                        if( Boolean(resp.message === 'OK') ){
                            _message = Boolean(resp.message === 'OK');
                        }
                        return Boolean(resp.message === 'OK');
                    },
                    //done
                    next(null, 'done doUntil ' + _message)
                )
            },
            //done previous step
            function(message, next) {
                next(null, message);
            }
        ],
        function(err, res) {
            if(err) {
                console.log('done waterfall', err);
            }else{
                console.log('done waterfall', res);
            }
        }
    );
}

function getData(callback) {
    client = request.newClient('http://localhost/');
    client.get('cryptsy/stackoverflow/data.json', function(err, res, body) {
        if(!err) {
            return callback(null, body);
        }else{
            return callback(err, body);
        }
    });
}
startTest()

Replace this:

                    //test against
                    function(resp){
                        if( Boolean(resp.message === 'OK') ){
                            _message = Boolean(resp.message === 'OK');
                        }
                        return Boolean(resp.message === 'OK');
                    },
                    //done
                    next(null, 'done doUntil ' + _message)
                )

With this

                //test against
                function(resp){
                    if( Boolean(resp.message === 'OK') ){
                        _message = Boolean(resp.message === 'OK');
                    }
                    return Boolean(resp.message === 'OK');
                },
                //done
                function(resp) {
                    next(null, resp);
                }
            )