Promise,同步异步,Async/await

本文介绍了同步与异步的概念,通过举例和生活中的比喻帮助理解。同步保证顺序但可能导致阻塞,异步则避免阻塞但可能改变顺序。Promise作为抽象异步处理对象,将回调函数封装为对象,便于管理和执行。Async/Await是基于Promise的异步编程新方式,使异步代码看起来更像同步,没有阻塞且易于理解。
摘要由CSDN通过智能技术生成

在理解Promise之前,我们需要理解什么时同步与异步。

转:https://segmentfault.com/a/1190000004322358

假设存在一个函数A:

A(args...);

同步:如果在函数A返回的时候,调用者就能够得到预期结果(即拿到了预期的返回值或者看到了预期的效果),那么这个函数就是同步的。

例如:

Math.sqr(2);

console.log('Hi');

第一个函数返回时,就拿到了预期的返回值:2的平方根

第二个函数返回时,就看到了预期的效果:在控制台打印一个字符串。

所以这两个函数都是同步的。

异步:如果在函数A返回的时候,调用者还不能够得到预期结果,而是需要在将来通过一定的手段得到,那么这个函数就是异步的。

例子:

在console中执行setTimeout(function(){console.log("10000")},10000);console.log(10);

执行结果:10 10000.

其中setTimeout(fn,100000)就是异步过程的发起函数,fn是回调函数。

用生活中的例子总结一个同步与异步就是:

在公路上,汽车一辆接一辆,有条不紊的运行。这时,有俩车坏掉了。假如它停在原地进行修理,那么后面的车就会被堵住没法行驶,交通就乱套了。幸好旁边有应急车道,

可以把故障车辆推到应急车道修理,而正常的车流不会受到任何影响。等车修好了,再从应急车道回到正常车道即可。唯一影响的就是,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值