在coffeescript中传递类似JSON的参数

时间:2013-04-09 15:08:17

标签: json coffeescript

我正在尝试使用通过coffeescript编写的github API做一些事情。我对它很新,我遇到了这个障碍。

getRepos: (user)->
    this.github.repos.getFromUser(
        user: user,
        type: "all",
        sort: "updated",
        direction: "desc"
        (err,res)-> console.log(JSON.stringify(res))
    )

目前,正在编译

 getRepos: function(user) {
  return this.github.repos.getFromUser({
   user: user
   }, {
   type: "all",
   sort: "updated",
   direction: "desc"
    }, function(err, res) {
   return console.log(JSON.stringify(res));
 });

虽然我不想在user:user之后使用额外的括号,但它应该如下所示:

getRepos: function(user) {
  return this.github.repos.getFromUser({
    user: user,
    type: "all",
    sort: "updated",
    direction: "desc"
  }, function(err, res) {
  return console.log(JSON.stringify(res));
});

coffeescript我缺少什么?

编辑:这是完整的代码

GitHubApi = require("node-github");

gitLoader = 
github: new GitHubApi({
    version: "3.0.0",
    timeout: 5000
}); 
authenticate: ->
    this.github.authenticate({
        type: "basic",
        username: username,
        password: password
    })
getRepos: (user)->
    this.github.repos.getFromUser(
        user: user,
        type: "all",
        sort: "updated",
        direction: "desc"
        (err,res)-> console.log(JSON.stringify(res))
    )
getFollowers: ->
    this.github.user.getFollowingFromUser(
        user: "example",
        (err, res)->console.log(JSON.stringify(res));
    )

编辑2:认为它一定是某种间距问题。当我复制粘贴从编辑器复制的副本时,它编译正确。 = /

2 个答案:

答案 0 :(得分:0)

我确信在“user:”

之前有一个额外的空白区域(可能是一个标签页)

如果确保只有空格,它将按预期编译。

getRepos: (user) ->
    this.github.repos.getFromUser(
        user: user,
        type: "all",
        sort: "updated",
        direction: "desc"
        (err,res) -> console.log(JSON.stringify(res))
)

答案 1 :(得分:0)

这看起来像是一个空白问题。

您还可以省略其他一些内容,因此代码看起来像:

getRepos: (user) ->
    @github.repos.getFromUser
        user: user
        type: "all"
        sort: "updated"
        direction: "desc"
        (err, res) -> console.log JSON.stringify res