- A+
同步编程:按照顺序执行任务操作步骤 同步任务连续的,阻塞
和异步编程:并行执行同一个事件循环里面的全部任务 异步任务 非阻塞
异步与同步 | |
同步任务: | |
多个任务执行时,后面任务必须等前面任务执行完之后才能执行,这样执行的任务叫同步任务 | |
异步任务: | |
多个任务执行时,可以同时并发执行,相互不影响。 |
回调函数是写在函数方法调用里的函数fn(function fn1(){})
回调函数就是一个被作为参数传递的函数
函数方法调用时执行函数体作为的参数
1. 将函数callBack作为参数传给函数fun, 在函数fun中以形参方式进行调用, 函数callBack就称为回调函数
2. 写法: 两种
匿名函数形式
3. 使用: 定时器
4. 作用:
解决异步任务问题
Promise回调函数是有成功和失败的函数执行体
Promise对象两个特点:成功后解决,失败后拒绝
new Promise(function (resolved,rejected){
if(是否操作成功){
resolve(value);
}else{
reject(error)
}
});
然后再执行他们的结果
回调函数,
成功后执行then
失败后抓取原因catch
promise语法
=> ES6提供的一个解决异步编程问题的一个对象
简单理解为: promise是对异步操作的封装,封装异步文件读写, ajax异步网络请求...
Promise对象代表一个异步操作,有三种状态:pending(进行中)、fulfilled(已成功)和rejected(已失败)。不受外界影响,一旦改变就就不会再变执行结果
基本用法:
promise对象
=>异步操作的结果(成功、失败)
let promise = new Promise(function(resovle,reject){
//封装异步操作代码
//成功的结果交给resovle
if(异步操作成功){
resolve(success)
}
//失败的错误信息交给reject
else{
reject(error)
}
})
使用promise对象
promise.then( function(success){
// success
} )
promise.catch( function(eror){
//error
} )