[React Native]Promise机制

React Native中经常会看到Promise机制。
Promise机制代表着在JavaScript程序中下一个伟大的范式。可以把一些复杂的代码轻松撸成一个串,和Android中的rxjava非常像。

Promise代表一个任务结果,这个任务有可能完成,有可能没有完成。Promise模式唯一需要的一个接口是调用then方法,用来注册当Promise完成或者失败时调用的回调函数。

一般异步函数用到了Promise机制。

在异步操作之前通常异步操作是借助回调函数的。

    onScuccessCallback(result){
        //...   成功的回调
    }
    onErrorCallback(error){
        //...  失败的回调
    }
    doSomething(){
        try {
            this.AsyncFunction(para,this.onScuccessCallback,this.onErrorCallback)
        }catch(errors){
            //...
        }
    }

使用Promise机制后, 就直接通过then撸成串就好了

        this.AsyncFunction(para).then(
            (para)=>{
                // 处理成功的事件
            }
        ).catch(
            (error)=>{
                // 处理失败的事件
            }
        )

这还体现不出优势来, Promise的真正强大之处在于可以方便的实现Promise的多重链接,可以参考官方的例子

  getMoviesFromApiAsync() {
    return fetch('http://facebook.github.io/react-native/movies.json')
      .then((response) => response.json())  //获取结果的json传递给下个then
      .then((responseJson) => {       //执行成功获取结果
        return responseJson.movies; 
      })
      .catch((error) => {   //执行失败
        console.error(error);
      });
  }

更多精彩请关注微信公众账号likeDev
这里写图片描述

原文地址:https://www.cnblogs.com/hehe520/p/6329871.html