如何在函数中调用函数?(CoffeeScript)

How do I call a function within a function? (CoffeeScript)

本文关键字:函数 CoffeeScript 调用      更新时间:2023-09-26

我在另一个函数中创建了一个函数getData(),当我尝试调用它时,我在控制台中得到"getData未定义"。我尝试了@getData(),但也不起作用。这甚至可以在函数内实现吗?

class SomeCollection
   parse: (data) =>
       handleData: (data) ->
          return data
       getData: ->
          Session.ajax
          url: "someurl"
          type: 'get'
       getData().done handleData

我也尝试过将这些函数放在parse()函数之外,但每当我尝试引用getData()或@getData(()时,它总是会给我一个错误,即它没有定义。

不要使用冒号,因为它用于定义属性值。使用等号:

getData = () =>
 alert('hello!');
getData()

JSFiddle演示:http://jsfiddle.net/etuy0t2c/

这并不是完全清楚你想做什么,而是将这些: s更改为= s,并在Session.ajax之后缩进两行,至少这会有一定的意义:

class SomeCollection
   parse: (data) =>
       handleData = (data) ->
          return data
       getData = ->
          Session.ajax
             url: "someurl"
             type: 'get'
       getData().done handleData

您的parse方法的data参数没有在任何地方使用,但希望您能意识到这一点。