jQuery技术:coffeescript总是返回响应对象

我在coffeescript中有以下代码

getSection = (url) -> req = $.getJSON url return req.success (data) -> data.section 

要么,

 getSection = (url) -> req = $.getJSON url req.success (data) -> data.section 

我打算返回函数getSection 。 但它总是返回另一个对象(可能是response / ajax对象)。 如何强制从这个内部函数返回data.section中的值?

提前致谢?

    $.getJSON是一个AJAX调用, A代表异步,因此getSection将在$.getJSON从服务器返回响应之前返回。 基本上,你不能让getSection返回data.section除非你想用$.ajax替换$.getJSON并进行同步(即非异步)调用; 但是,同步调用是邪恶的,并且已被弃用,因此您不应使用它们。

    通常的解决方案是将回调传递给getSection

     getSection = (url, callback) -> req = $.getJSON url req.success (data) -> callback(data.section) 

    然后你把你的逻辑放在callback而不是试图用getSection返回值做一些事情。

    你的getSection正在返回req因为这是req.success返回的内容,而CoffeeScript函数返回它们的最终值。

      以上就是jQuery教程分享coffeescript总是返回响应对象相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/jquerytutorial/547257.html

      (0)
      上一篇 2021年1月10日
      下一篇 2021年1月10日

      精彩推荐