"TypeError: object is not a function"

1.1k views Asked by At

I don't know where this is coming from, version 4.0 of CO is installed and 0.11.14 version of Node. Very simple code which worked on 3.1 (just noticed the previous version of co is different)

"use strict"
const co = require('co')

const main = function*() {
    console.log('THIS IS LOGGED')
}

co(main)()

Gives me this output:

/home/tbrown/.nvm/current/bin/node --debug-brk=23342 --nolazy
--harmony routes-to-apache-reverse-proxy.js Debugger listening on port 23342 THIS IS LOGGED /home/Documents/projects/server/routes/routes-to-apache-reverse-proxy.js:8 co(main)()
        ^ TypeError: object is not a function
    at Object.<anonymous> (/home/Documents/projects/server/routes/routes-to-apache-reverse-proxy.js:8:9)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.runMain [as _onTimeout] (module.js:501:10)
    at Timer.listOnTimeout (timers.js:133:15)

Process finished 

with exit code 1

The line it is referencing is

co(main)()
1

There are 1 answers

0
akaphenom On BEST ANSWER

OK CO changed from 3->4 - this looks to be the equivalent

"use strict"
const co = require('co')

const main = function*() {
    console.log('THIS IS LOGGED')
}

co(main).
    catch(function(e){
        console.error(e)
    })