关于网友提出的“ (vue.js)关于vue-router的Promise和resolve”问题疑问,本网通过在网上对“ (vue.js)关于vue-router的Promise和resolve”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: (vue.js)关于vue-router的Promise和resolve描述:
看官方文档的时候,异步加载动态组件这部分看不明白..
请问Promise和resolve指的是什么?有没有demo帮助理解..
还请大家解答时尽量好懂些..谢谢
解决方案1:
这就和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