![](/img/trans.png)
[英]TypeError: Cannot read property 'addTopic' of undefined. Am I blind?
[英]TypeError: Cannot read property 'then' of undefined. Getting this error when I am trying to run updatefirst function
我正在嘗試運行 updatefirst 函數,但即使我將預定義的值傳遞給 get_plo_amount 中的解析函數時,也會一次又一次地得到相同的錯誤。 console.log(result) 行運行表明,在獲取數據時沒有問題. 我不知道我在這里做錯了什么:(。任何幫助將不勝感激。謝謝。
const get_plo_amount = function(p){
plo.findOne({phone : p}).then((result) => {
console.log(result) //this line is running
return new Promise((resolve,reject) => {
resolve(result.daily_amount)
})
}).catch((e) => {
console.log("catch")
return new Promise((resolve,reject) => {
reject(e)
})
})
}
//updatefirst
const updatefirst = function(plo,date){
driver.find({associated_plo : plo}).then((result) => {
//console.log(result)//delete this
get_plo_amount(plo).then((amount) => {
console.log(amount)
var arr
for(i=0;i<result.length;i++){
var pdue = parseInt(result[i].balance) + amount
var d_obj = {
driver : result[i].name,
phone : result[i].phone,
auto_number : result[i].auto_number,
amount : pdue,
}
// console.log(d_obj)//delete this
arr[i] = d_obj
}
const obj = {
associated_plo : plo,
date : date,
earning : "0",
payments : arr
}
const t = new transactions(obj)
t.save().then(() => {
return "success"
}).catch((e) => {
return e
})
}).catch((e) => {
console.log(e)
return e
})
}).catch((e) => {
console.log(e)
return e
})
}
您應該返回一個承諾,以使then()
方法工作。 嘗試像這樣更新你的函數:
const get_plo_amount = function(p){
return plo.findOne({phone : p}).then((result) => {
console.log(result) //this line is running
return new Promise((resolve,reject) => {
resolve(result.daily_amount)
})
}).catch((e) => {
console.log("catch")
return new Promise((resolve,reject) => {
reject(e)
})
})
}
還有 2 個變化
result.daily_amount
而無需創建另一個承諾const get_plo_amount = function(p){
return plo.findOne({phone : p}).then((result) => {
console.log(result) //this line is running
result.daily_amount;
});
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.