Promise介绍then,catch用法,基础介绍(二)

Promise的方法:then和catch
then的介绍
1.是promise状态改变时的回调函数,then有2个回调函数
then方法分别指定了Resolved状态和Rejected状态的回调函数
回调函数的参数是上一个promise的返回值

 new Promise(function(resolve, reject) {
      return  resolve('ok')
    }).then(function(value) {
    	//成功: 第一个回调函数
      console.log('接受到的内容:' , value)
      return value
    }, function(error) {
    	//失败: 第二个回调函数
      console.log('出错了:', error)
    })

2.then方法返回的是一个新的Promise,所以then可以无限次调用

getApi('post/1.json').then(function(json) {
      return json
    }).then(function(post) {
      //...
    }).then(function(post) {
      //...
    })

2.catch的介绍
Promise.prototype.catch方法是.then(null,rejection)的别名,用于指定发生错误时的回调函数。

getApi('post/1.json').then(function(json) {
      return json
    }).catch(function(error) {
      // 处理前一个回调函数运行时发生的错误
      console.log('错误:',error)
    })

作用一样,以下是then的写法和catch的写法

 new Promise(function(resolve, reject) {
      return  resolve('ok')
    }).then((val) => console.log('fulfilled:', val))
    .catch((error) => console.log('rejected:', error))
    new Promise(function(resolve, reject) {
      return  resolve('ok')
    }).then((val) => console.log('fulfilled:', val))
    .then(null,(error) => console.log('rejected:', error))

2.1catch后面可以加then,如果没有报错则会跳过catch方法。

你可能感兴趣的:(学习总结,javascript,前端,开发语言)