下面有三个使用到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();