gpt4 book ai didi

javascript - 带有 promise 链的 Typeorm 复杂查询

转载 作者:太空宇宙 更新时间:2023-11-04 03:13:31 26 4
gpt4 key购买 nike

我正在从 typeorm 中的多个表中获取数据,如下所示:

Order.findOne(orderId).then(order => {
Stuff.findOne(order?.stuffId).then(stuff => {
Site.findOne(stuff?.storeId).then(store => {
Stuff.findOne(order?.stuffId).then(stuff1 => {
Ware.findOne(stuff1?.wareId).then(ware => {
Site.findOne(order?.unitId).then(unit => {
Organization.findOne(order?.organizationId).then(
organization => {
// do some stuff with returned values
});
});
});
});
});
});
});

现在我知道这是一个糟糕的代码(太容易出错且令人困惑)。我正在寻找一种更方便的方法来在 typeorm 中实现此目的(从多个表中获取多个数据)。

任何建议都会有帮助。

最佳答案

async function fectchAndExecute() {
let order = await Order.findOne(orderId);
let stuff = await Stuff.findOne(order ? .stuffId);
let store = await Site.findOne(stuff ? .storeId);
let ware = await Ware.findOne(stuff?.wareId);
let unit = await Site.findOne(order?.unitId);
let organization = await Organization.findOne(order?.organizationId);
// do some stuff with returned values
};

您可以调用此函数。

请注意,您无需再次将 stuff 命名为 stuff1,因为您已经可以将其与 stuff var 一起使用。

关于javascript - 带有 promise 链的 Typeorm 复杂查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59629890/

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