我是 JavaScript 的新手,正在学习 CoffeeScript。我想创建一个在初始化时使用 Ajax与Flickr Web API通信的类。
class Photo
json: null
constructor: ->
@getJson()
_getJson: (data) ->
@json = data.photos.photo
getJson: ->
$.ajax(
url : 'http://www.flickr.com/services/rest/'
type : 'GET'
data :
format : 'json'
method : 'flickr.photos.search'
api_key : 'api_key'
user_id : '29242822@N00'
per_page : '100'
dataType : 'jsonp'
jsonp : 'jsoncallback'
success : @_getJson
)
我写了一个Jasmine测试来测试类的初始化。
describe("Photo", ->
photo = new Photo
console.log(photo.json)
it("should get json when constructed", ->
expect(photo.json).toBeDefined()
)
it("should have json which begins", ->
expect(photo.json[0].title).beBe('Ridges of Shirouma')
)
)
但photo.json
始终为空。
谢谢你的好意。