CoffeeScript:回调.叫不工作

CoffeeScript: Callback.call Not Working

本文关键字:工作 回调 CoffeeScript      更新时间:2023-09-26

我将加载微调器添加到调用本地主机上的API的页面。之前,代码看起来像:

getDocumentContents: (id, callback) ->
  $.ajax(
    url: 'http://127.0.0.1:5000/doc/' + id
    type: 'GET'
      contentType: 'application/json'   
      success: callback
  )

使用jQuery $。Ajax函数,它可以工作,调用回调,但不指示用户正在发生任何事情。

为旋转器类添加/删除代码和手动调用回调不起作用。微调器按预期出现和消失,但回调从未触发,也没有JS错误显示在我的控制台上:

getDocumentContents: (id, callback) ->
  $.ajax(
    url: 'http://127.0.0.1:5000/doc/' + id
    type: 'GET'
      contentType: 'application/json'
      beforeSend: ->
        $('#sidePanelBody i.article-spinner').addClass('fa fa-spinner fa-pulse fa-3x fa-fw')
     success: ->
        $('#sidePanelBody i.article-spinner').removeClass('fa fa-spinner fa-pulse fa-3x fa-fw')
        callback.call
  )

我做错了什么?

正如Mu指出的,函数调用需要()而不是。call。我假设CoffeeScript不需要父级,因此假设了后一种语法。我还错过了"data"参数,该参数以前是自动传递的,显然现在需要在函数闭包和回调调用中显式声明。下面的代码是:

success: (data) ->
  $('#sidePanelBody i.article-spinner').removeClass('fa fa-spinner fa-pulse fa-3x fa-fw')
  callback(data)