Fork me on GitHub

异步


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
异步操作 (ajax 请求)
axios.get("xxx")
axios.get("xxx")
http://jsonplaceholder.typicode.com/posts/1
http://jsonplaceholder.typicode.com/users/1
function test() {
// 再上述两个异步操作执行完毕之后再执行
}
axios 执行并发请求 axios.all 方法
将你的并发请求 写成函数的返回值封装到函数内 例如
function getPost() {
return axios.get("http://jsonplaceholder.typicode.com/posts/1")
}
function getUser() {
return axios.get("http://jsonplaceholder.typicode.com/users/1")
}
使用 axios.all([getPost(),getUser()]).then(res => {请求都结束,res 存储两个结果})
axios.all([getPost(), getUser()]).then(
axios.spread(function(res1, res2) {
console.log(res1, res2)
})
)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63

promise generator async
很多异步(请求)
resolve reject 函数
resolve 函数当异步成功之后执行
reject 函数异步操作失败
const promise = new Promise(function(resolve, reject) {
// ... some code
if (xxx) {
resolve(value)
} else {
reject(error)
}
})

function timeout(ms) {
return new Promise((resolve, reject) => {
// 将异步操作写到 promise 对象(实例)内
// 将此实例封装到函数内并返回等待调用
setTimeout(resolve, ms, "done")
// setTimeout 给里面的函数传参
})
}
promise 对象下的 then 方法 传递的参数就是相当 resolve 函数
timeout(100).then(value => {
console.log(value)
})
回调地狱
setTimeout(() => {
// 异步操作成功之后执行
// 再次执行一个异步操作
setTimeout(() => {
// 在执行其他的异步 判断
setTimeout(() => {})
})
}, 1000)
new Promise((resolve, reject) => {
// 将异步操作写到 promise 对象(实例)内
// 将此实例封装到函数内并返回等待调用
setTimeout(resolve, ms, "done")
}).then(res => {
console.log(res)
})
async 异步函数 搭配 await 后写异步操作 await 后得到一个返回值就是请求后的结果
async function test() {
const a = await axios.get("http://jsonplaceholder.typicode.com/users/1")
console.log(a.data)
}
test()

123456789
"123,456,789"
9007199254740991
const num = 9007199254740
console.log(num)
let str = String(num)
let len = Math.ceil(str.length / 3 - 1)
let arr = str.split("")
for (let i = 1; i <= len; i++) {
arr.splice(str.length - 3 * i, 0, ",")
}
let newStr = arr.join("")
console.log(newStr)

请我喝杯可乐吧