Promise入门之:如何发起一个Promise

Promise入门之:如何发起一个Promise

两种基本的方法:

1: Promise.resolve()

Promise.resolve('aaa')
    .then(data => { console.log("then1: ", data); return 'bbb'; })
    .then(data => { console.log("then2: ", data); return Promise.resolve('ccc'); })
    .then(data => { console.log("then3: ", data); })
    .catch(err => { console.log("eee"); });

console.log("111")

运行结果:

$ node test.js
111
then1:  aaa
then2:  bbb
then3:  ccc

2: new Promise()

new Promise(function (resolve, reject) { resolve('aaa'); })
    .then(data => { console.log("then1: ", data); return 'bbb'; })
    .then(data => { console.log("then2: ", data); return Promise.resolve('ccc'); })
    .then(data => { console.log("then3: ", data); })
    .catch(err => { console.log("eee"); });

console.log("111")

运行结果:

$ node test.js 
111
then1:  aaa
then2:  bbb
then3:  ccc
  1. 关注两个区别

区别1:发起Promise的方式

  • Promise.resolve(x)
  • new Promise(function(resolve, reject) { resolve(x); })

对于入门用户来说,我们认为他们是一样的,没有区别。

区别2:在then函数里面返回方式

  • return x
  • return Promise.resolve(x)

对于入门用户来说,我们认为他们也是一样的,没有区别。

对于高级用户,可以google区分他们的差异。

你可能感兴趣的:(Promise入门之:如何发起一个Promise)