Fetch
javascript 异步请求
具体标准参考如下 点击这里
FetchAPI
基本用法(ES6 语法):
fetch(url,option)
.then((response) => {
// do something
});
其中
const option = {
method: 'POST',
head: {
Accept: 'application/json',
'Content-type': 'application/json',
Authorization: `Basic ${btoa(`${username}:${password}`)}`,
},
body: ...
}
Promise
一种JavaScript对象,用来异步运算。
语法:
new Promise( /* executor */ (resolve, reject) => {
//
});
当executor 会立马调用,在Promise 构造函数返回创建的对象前。 resolve 和 reject 函数将会被调用。 通常executor用来初始化一些异步工作。
Promise 有三个状态
- pending : 初始化状态,没有完成或拒绝
- fulfilled: 操作成功完成
- rejected: 操作失败
一个pending 的promise 可以fulfilled一个值,或者rejected带有一个error。当这些都发生后,then 方法会被调用。
Promise().then(() => {
// first
return Promise.reject(); // second then will not be called.
}).then( () => {
// second
})