Promise的理解

Promise的定义:

Promise 对象是一个代理对象(代理一个值),被代理的值在Promise对象创建时可能是未知的。它允许你为异步操作的成功和失败分别绑定相应的处理方法(handlers)。 这让异步方法可以像同步方法那样返回值,但并不是立即返回最终执行结果,而是一个能代表未来出现的结果的promise对象

                                          ----来自MDN的解释

一、Promise.all()

1、Promise.all()方法的初步尝试:

 下边代码为Promise的调用!

     /**
         * 调用dao层,对数据进行处理
         */
        let result1 = await loginuserDao.userLoginDao(userName,passWord);
        let result2 = await loginuserDao.userLoginDao(userName,passWord);
        let list1 = [];
        list1.push(result1);
        list1.push(result2);
        let list = await Promise.all([result1,result2]);
        console.log('调用Promise.all方法返回的结果');
        console.log(list);
        console.log(list1);

下边为调用的结果

[ [ BinaryRow { id: 2, loginname: 'Emma', password: '112233' } ],
  [ BinaryRow { id: 2, loginname: 'Emma', password: '112233' } ] ]
[ [ BinaryRow { id: 2, loginname: 'Emma', password: '112233' } ],
  [ BinaryRow { id: 2, loginname: 'Emma', password: '112233' } ] ]

结果总结:返回的都是list集合,所以,我初步认为,调用多个接口返回的值,我可以用Promise来进行集合封装,不需要在自定义一个list集合了,方便一点而已!并没有什么卵用!

原文地址:https://www.cnblogs.com/fooller/p/8267291.html