深入理解javascript中的事件循环event-loop
JavaScript 运行机制详解:再谈Event Loop 阮一峰
带你彻底弄懂Event Loop
Object.creact()
理解原型链--下图
Js实现new关键字 实现new关键字2
JavaScript this原理-阮一峰
理解引用类型和基本类型的区别以及深浅拷贝
JavaScript 对象属性底层原理
基本类型、引用类型、基本包装类型和单体内置对象
理解async函数
typeof和instanceof的区别
类型转换和隐式类型转换
实现继承的几种方式
理解JavaScript的作用域和作用域链
理解JavaScript 中的执行上下文和执行栈等 内存系列
学习JavaScript闭包 阮一峰
promise串行:
首先理解promise:廖雪峰promise,ES6promise
基本用法:首先new一个Promise,接受一个函数作为参数,该函数有两个参数resolve和reject
const promise = new Promise(function(resolve, reject) {
// ... some code
if (/* 异步操作成功 */){
resolve(value);
} else {
reject(error);
}
});
Promise实例生成以后,可以用then方法分别指定resolved状态和rejected状态的回调函数。
promise.then(function(value) {
// success
}, function(error) {
// failure
});
廖雪峰:
Promise还可以做更多的事情,比如,有若干个异步任务,需要先做任务1,如果成功后再做任务2,任何任务失败则不再继续并执行错误处理函数。
要串行执行这样的异步任务,不用Promise需要写一层一层的嵌套代码。有了Promise,我们只需要简单地写:
job1.then(job2).then(job3).catch(handleError);
function delay(time) {
return new Promise((resolve, reject) => {
console.log(`wait ${time}s`)
setTimeout(() => {
console.log('execute');
resolve()
}, time * 1000)
})
}
const arr = [3, 4, 5];
1.async+循环
async function () {
for (const v of arr) {
await delay(v)
}
}
2.普通循环
let p = Promise.resolve()
for (const i of arr) {
p = p.then(() => delay(i))
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。