javascript 异步回调链式调用 promise

<script>
  new Promise((resolve,reject) => {
    setTimeout(()=>{
      resolve('sss');
    },1000);
  }).then((data) =>{
    console.log(data);//注意,此处不能写异步回调,异步必须写在下面的promise方法体内部,否则会有问题
    return new Promise(resolve => {
      resolve(data + "bbb");
    });
  }).then(data =>{
    console.log(data)
  });
</script>

还有一个Promise.all方法

Promise.all([
  new Promise((resolve, reject) => {
    setTimeout(() => {
      resolve(null);
    }, 1000);
    
  }),
  new Promise((resolve, reject) => {
    setTimeout(() => {
      resolve(null);
    }, 3000);
  })
]).then(result => {
  alert("ok");
});