我遵循了一個javascript教程,在這個視頻中它應用了promise函式,在我的例子中,我正在等待從產品表中檢索它,但它給了我未定義的。
getUser(10)
.then((user) => {
console.log(user);
getProducts(user.id);
})
.then(products => console.log(products))
.catch((err) => console.warn(err))
function getUser(id){
return new Promise((resolve,reject) => {
let status = true;
setTimeout(() => {
console.log('return data');
if(status){
return resolve({ id:id, name: 'najib' })
}else{
return reject("user not found")
}
}, 2000)
})
}
function getProducts(userId){
return new Promise((resolve,reject) => {
let status = true;
setTimeout(() => {
console.log('return product data');
if(status){
return resolve(['p1','p2','p3','p4'])
}else{
return reject("products not found")
}
}, 2000)
})
}
uj5u.com熱心網友回復:
你在 console.log(user) 之后錯過了一個回報
getUser(10)
.then((user) => {
console.log(user);
return getProducts(user.id);
})
.then(products => console.log(products))
.catch((err) => console.warn(err))
function getUser(id){
return new Promise((resolve,reject) => {
let status = true;
setTimeout(() => {
console.log('return data');
if(status){
return resolve({ id:id, name: 'najib' })
}else{
return reject("user not found")
}
}, 2000)
})
}
function getProducts(userId){
return new Promise((resolve,reject) => {
let status = true;
setTimeout(() => {
console.log('return product data');
if(status){
return resolve(['p1','p2','p3','p4'])
}else{
return reject("products not found")
}
}, 2000)
})
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/494661.html
標籤:javascript
上一篇:為什么不能用反射修改字串欄位?
下一篇:在MomentJs中執行減法
