为了账号安全,请及时绑定邮箱和手机立即绑定

请问如何在Javascript中创建异步函数?

请问如何在Javascript中创建异步函数?

慕姐4208626 2019-08-02 07:02:52
如何在Javascript中创建异步函数?看看这个电码 :<a href="#" id="link">Link</a><span>Moving</span>$('#link').click(function () {     console.log("Enter");     $('#link').animate({ width: 200 }, 2000, function() {          console.log("finished");                 });         console.log("Exit");     });正如您在控制台中所看到的,“动画”函数是异步的,它是事件处理程序块代码的流。事实上:$('#link').click(function () {     console.log("Enter");     asyncFunct();     console.log("Exit");    });function asyncFunct() {     console.log("finished");}遵循代码块的流程!如果我想创建我的function asyncFunct() { }有了这种行为,我如何使用javascript/jQuery?我认为有一种策略不需要使用setTimeout() 
查看完整描述

3 回答

?
慕斯709654

TA贡献1840条经验 获得超5个赞

您无法创建真正的自定义异步函数。您最终将不得不利用本地提供的技术,例如:

  • setInterval

  • setTimeout

  • requestAnimationFrame

  • XMLHttpRequest

  • WebSocket

  • Worker

  • 一些HTML 5 API,如FileAPI、WebDatabaseAPI
  • 支持的技术

    onload

  • ..其他许多

实际上,对于动画jQuery使用 setInterval.




查看完整回答
反对 回复 2019-08-03
?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

您可以使用计时器:

setTimeout( yourFn, 0 );

(在哪里yourFn是对您的函数的引用)

或者,用罗达什:

_.defer( yourFn );

调用func直到当前调用堆栈清除为止。任何附加参数都提供给func当它被调用的时候。




查看完整回答
反对 回复 2019-08-03
  • 3 回答
  • 0 关注
  • 318 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信