当前位置: 代码迷 >> 综合 >> 关于 new Promise 和 Promise.resolve()
  详细解决方案

关于 new Promise 和 Promise.resolve()

热度:46   发布时间:2023-12-10 17:06:25.0
下面有三个使用到Prmomise的例子
第1个例子 使用 new Promise,体现了 promise实现异步机制 
2和3 使用 Promise.resolve 
第3个例子,通过 then 将 参数传递到下一个 then
 
 
将代码复制 运行,就会看到 promise的奥秘
 
 
//new Promise() vs Promise.resolve()
//then 方法每次都会返回 promise实例对象

function newPromise_resolve() {return new Promise((resolve,reject) => {resolve(); //这里调resolve方法,则then方法会被调用
      console.log('resolve里面的log');})//先输出 resolve里面的log
   //后输出 then方法
   //这里很好地体现了 Promise实现了 node.js的异步机制
}newPromise_resolve().then(() => {console.log('then方法');
});newPromise_resolve();//使用Promise.resolve
function promise_resolve() {let promise = Promise.resolve();promise
   .then(() => {console.log('promise_resolve1');}).then(() => {console.log('promise_resolve2');});return promise;
}//promise_resolve(); 

function promise_forEach_then() {let ids = [1,2,3];let promise = Promise.resolve();ids.forEach((id) => {promise.then(() => {return {id}}).then(consoleLogId)});
}function consoleLogId(id) {console.log('promise_forEach_then---' + id);
}//promise_forEach_then();
  相关解决方案