- Promises
Promise 是异步编程的一种解决方案,其实是一个构造函数,自己身上有all、reject、resolve这几个方法,原型上有then、catch等方法。
参数: executor
executor是一个带有resolve(完成)
和reject(失败)
两个参数的函数 。
语法:
const promiseRun =()=>{
let p = new Promise(function(resolve, reject){
//做一些异步操作
setTimeout(function(){
console.log('执行完成Promise');
resolve('要返回的数据可以任何数据例如接口返回数据');
}, 2000);
});
}
then和catch的用法
promiseRun().then(
function(data){
console.log('resolved成功回调');
console.log('成功回调接受的值:',data);
}
)
.catch(function(reason, data){
console.log('catch到rejected失败回调');
console.log('catch失败执行回调抛出失败原因:',reason);
});
- 异步功能
function fetchData() {
return new Promise(resolve => {
setTimeout(() => {
resolve("模拟异步的请求数据");
}, 2000);
});
}
async function run() {
console.log('异步执行之前');
let result = await fetchData();
console.log(`异步执行完成, ${result}`);
}
run();
- 字符串填充(padStart&padEnd)
语法
str.padStart(targetLength [, padString])
str.padEnd(targetLength [, padString])
例:
'es8'.padStart(2); // 'es8'
'es8'.padStart(5); // ' es8'
'es8'.padStart(6, 'woof'); // 'wooes8'
'es8'.padStart(14, 'wow'); // 'wowwowwowwoes8'
'es8'.padStart(7, '0'); // '0000es8'
'es8'.padEnd(2); // 'es8'
'es8'.padEnd(5); // 'es8 '
'es8'.padEnd(6, 'woof'); // 'es8woo'
'es8'.padEnd(14, 'wow'); // 'es8wowwowwowwo'
'es8'.padEnd(7, '6'); // 'es86666'
- Object.keys
let person = {name:"张三",age:25,address:"深圳",getName:function(){}}
Object.keys(person).map((key)=>{
person[key] // 获取到属性对应的值,做一些处理
})
网友评论