Promise案例
Promise链式调用
创建两个关联数组对象
let ours = [
{id:1,age:18,address:"上海市宝山区",owne:"one"},
{id:2,age:19,address:"上海市杨浦区",owne:"two"},
{id:3,age:20,address:"上海市浦东新区",owne:"three"}
]
let ownes = [
{"owne":"one",job:"java",level:"初级"},
{"owne":"two",job:"php",level:"中级"},
{"owne":"three",job:"py",level:"初级"}
]
function getOurById(id){
return new Promise((resolve,reject)=>{
let our = ours.find(our=>our.id === id);
if(our){
resolve(our);
}else{
reject(Error("not find element"));
}
})
}
function getOwneByName(our){
return new Promise((resolve,reject)=>{
let owne = ownes.find(res=>res.owne === our.owne);
if(owne){
our.owne = owne;
resolve(our);
}else{
reject(Error("not find a name")); //Error 会提示错误为具体的位置
}
})
}
//根据id获取our对象
getOurById(1).then(resolve=>
console.log(resolve)
).catch(reject=>
console.log(reject)
)
//根据id获取一个具体关联的our对象
getOurById(1).then(repo=>{
return getOwneByName(repo);//返回的是一个Promise
}).then(repo=>{
console.log(repo);
}).catch(reject=>{
console.log(reject)
})