首页 > 关于vue-router的Promise和resolve

关于vue-router的Promise和resolve

看官方文档的时候,异步加载动态组件这部分看不明白..


请问Promise和resolve指的是什么?有没有demo帮助理解..
还请大家解答时尽量好懂些..谢谢


这就和vue没什么关系,单纯是对Promise的理解问题,来给你个小例子:

'use strict';

//这个方法,我们说她返回了一个promise
//但实际上,我们期待的是一个userInfo对象
//无奈该函数是异步的,无法立刻返回userInfo对象
//所以返回了一个Promise作为“承诺”
var getUserInfo = function() {
    return new Promise(function(resolve) {
        setTimeout(function() {
            var user = {name: 'Hanmeimei', age: 31};
            resolve(user);
        }, 3000);
    });
};

var user = getUserInfo();//获取返回值

//通过这个方法我们就能看出返回值是个Promise
console.log(Object.prototype.toString.apply(user));//[object Promise]

//那如何才能拿到真正的userInfo对象呢?
//下面代码就可以
user
    .then(function(userInfo) {
        
        //之所以这里拿到了userInfo,那是因为上面我们在3秒之后
        //resolve了真正的userInfo对象
        console.log(userInfo);//{ name: 'Hanmeimei', age: 31 }
    });

关于Promise,看文档:Promise

【热门文章】
【热门文章】