gpt4 book ai didi

javascript - 对 Sequelize 中的链式 promise 使用 then promise 时 undefined object

转载 作者:行者123 更新时间:2023-12-03 22:23:15 26 4
gpt4 key购买 nike

我正在使用以下代码对 Sequelize 中的 invoice 对象使用链式 promise 。但是 invoice 对象对于 then 的第二次使用是未定义的。

Invoice.create({
//set values for invoice object
}).then(invoice => { //update company id
//invoice belongs to a company
Company.findOne({where: {id: companyId}}).then(company => {
return invoice.setCompany(company)
})
}).then(invoice => {
console.log('Invoice is: ' + invoice)
//create child items
invoice.createItem({
//set item values
})
}).catch(err => {
console.log('Invoice create error: ' + err)
})

控制台中的输出是 Invoice is :undefined 。我在这里做错了什么?

最佳答案

那是因为您需要在第一个 .then 回调中返回 promise 。

改变这个:

Invoice.create({
//set values for invoice object
}).then(invoice => { //update company id
//invoice belongs to a company
Company.findOne({where: {id: companyId}}).then(company => {
return invoice.setCompany(company)
})
}).then(...)

至:
Invoice.create({
//set values for invoice object
}).then(invoice => {
// return this promise
return Company.findOne({where: {id: companyId}}).then(company => {
invoice.setCompany(company)
// you also need to return your invoice object here
return invoice
})
}).then(...)

关于javascript - 对 Sequelize 中的链式 promise 使用 then promise 时 undefined object ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61651828/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com