3

这是我在 CoffeeScript 中使用 MongoDB 进行简单测试的代码。当我运行时,
coffee -c UserDataProvider.coffee
我最终得到一个错误 UNCLOSED INDENT ON LINE 6

这是我的代码:

Db   = require('mongodb/db').Db
ObjectID = require('mongodb/bson/bson').ObjectID
Server   = require('mongodb/connection').Server

class UserDataProvider
    constructor = (host,port)->
        this.db = new Db( 'test' , new Server(host ,port,{}))

    getCollection = (callback) ->
        this.db.collection('data',(error,data)->
            if error then callback(error)
            else callback(data)

StackTrace 是:

Error: In UserDataProvider.coffee, unclosed INDENT on line 6
    at Error (unknown source)
    at Rewriter.ensureBalance (/usr/local/lib/node/.npm/coffee-script/1.0.1/package/lib/rewriter.js:283:17)
    at Rewriter.rewrite (/usr/local/lib/node/.npm/coffee-script/1.0.1/package/lib/rewriter.js:21:12)
    at Lexer.tokenize (/usr/local/lib/node/.npm/coffee-script/1.0.1/package/lib/lexer.js:37:29)
    at Object.compile (/usr/local/lib/node/.npm/coffee-script/1.0.1/package/lib/coffee-script.js:26:34)
    at /usr/local/lib/node/.npm/coffee-script/1.0.1/package/lib/command.js:117:33
    at /usr/local/lib/node/.npm/coffee-script/1.0.1/package/lib/command.js:85:26
    at [object Object].<anonymous> (fs.js:86:5)
    at [object Object].emit (events.js:39:17)
    at afterRead (fs.js:843:12)

任何人都可以帮忙吗?

4

2 回答 2

4

此行的第一个左括号永远不会关闭:

this.db.collection('data',(error,data) ->

实际上根本不需要它,因此如果您的意图是将“数据”作为第一个参数传递,而function(error, data) { ... }作为第二个参数传递,那么您可能希望将其全部删除。

于 2011-02-25T23:47:20.783 回答
1

仅供参考,无用的错误消息是当前版本中的错误。

于 2011-02-26T13:10:51.217 回答