“TypeError:object不是函数”

时间:2014-11-26 18:54:22

标签: javascript node.js ecmascript-harmony co

我不知道它的来源,安装了4.0版的CO和0.11.14版本的Node。在3.1上工作的非常简单的代码(只是注意到以前版本的co是不同的)

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

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

co(main)()

给我这个输出:

/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

它引用的行是

co(main)()

1 个答案:

答案 0 :(得分:2)

确定CO从3-> 4改变 - 这看起来是等效的

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

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

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