Promise 是一个 Object, 它有两种形式:
1. Promise.resolve()
这样直接可以用.
2.new Promise(function(resolved,rejected){ … resolved(param) … })
一个 Object 的形式, 里面要有一个 function.
var count = 0; var tick = () => { count++; setTimeout(() => { process.stdout.write('.'); if(count < 100) tick(); },100); } tick();//Init //Promise Syntax Tricks Promise.resolve() .then(() => {console.log('1')}) .then(() => { return new Promise( (resolved,rejected) => setTimeout(() => { console.log('2') resolved() },2000) ); }) .then(() => {console.log('3')}) .then(() => { return new Promise( (resolved,rejected) => setTimeout(() => { console.log('4') resolved() },4000) ); }) .then(() => { //Block without promise setTimeout(() => { console.log('5') },1000) }) .then(() => {console.log('6')}) .then(() => {console.log('7')}) .then(() => {console.log('8')}) //Kinda messy, isn't it?
Output:
node index.js 1 ...................2 3 ........................................4 6 7 8 ..........5 ...............................