V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
waiaan
V2EX  ›  问与答

问一个 ajax 获取数据后传递数据的问题

  •  
  •   waiaan · 2017-10-31 22:09:23 +08:00 · 1306 次点击
    这是一个创建于 2366 天前的主题,其中的信息可能已经有所发展或是发生改变。

    $.ajax({ url:, type:, dataType:, success: function(data){

       }
     }); 
    

    function fn(){}

    假设此时 ajax 请求已经获取到了 data 数据,我要在 fn 里面调用取得的 data,但是 fn 不能作为回调写入,又不能用一个全局变量来接 data,还有没有什么办法能够在 fn 里调用 data。 谢谢。

    4 条回复    2017-11-01 07:58:10 +08:00
    brickyang
        1
    brickyang  
       2017-10-31 22:37:39 +08:00 via iPhone
    在 fn 里监听一个事件,在 ajax 的回调中触发该事件。

    对于浏览器可以用这个库: https://github.com/Olical/EventEmitter
    SoloCompany
        2
    SoloCompany  
       2017-10-31 23:37:28 +08:00
    外面多套一个匿名函数,然后 data 就可以赋值给局部变量供 fn 访问了
    Hypn0s
        3
    Hypn0s  
       2017-11-01 00:22:42 +08:00
    我比较好奇什么业务场景会要求“不能用一个全局变量来接 data ”,那用局部变量存起来可以吗?
    meszyouh
        4
    meszyouh  
       2017-11-01 07:58:10 +08:00
    直接在 ajax 的匿名回调函数里调用 fn
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5278 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 08:07 · PVG 16:07 · LAX 01:07 · JFK 04:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.