gpt4 book ai didi

javascript - 有没有办法在 Javascript 中进行下一次迭代之前等待计算

转载 作者:行者123 更新时间:2023-12-02 23:40:09 24 4
gpt4 key购买 nike

在以下函数中,在 productIdreqQuantity 的计算完成之前,对应于 else if 条件。运行后的命令。

addBasketItem.quantityCheck = () => (req, res, next) => {
if (req.method === 'POST' || req.method === 'PUT') {
// console.log(extractParam(req))
var result = utils.parseJsonCustom(req.rawBody)
var productId = 0
var reqQuantity = 0
if( req.method === 'POST') {
var productIds = []
var basketIds = []
var quantities = []

for (var i = 0; i < result.length; i++) {
if (result[i].key === 'ProductId') {
productIds.push(result[i].value)
} else if (result[i].key === 'BasketId') {
basketIds.push(result[i].value)
} else if (result[i].key === 'quantity') {
quantities.push(result[i].value)
}
}

productId = productIds[0]
console.log("productIdInstantiated:", productId)
reqQuantity = quantities[0]
} else if (req.method === 'PUT') {
var pID = req.url
models.BasketItem.findAll({ where: { id: pID.replace('/', '') } }).then((item) => {
productId = item[0].dataValues.ProductId <---- Here
console.log("productIdInside:", productId)
reqQuantity = result[0].value <---- Here
})
}
console.log("productIdQueried:", productId)
models.Product.findAll({ where: { id: productId } }).then((product) => {
const availableQuantity = product[0].dataValues.quantity
if (availableQuantity < reqQuantity) {
res.status(401).send('{\'error\' : \'Quantity Unavailable\'}')
} else {
next()
}
}).catch(error => {
next(error)
})
} else {
next()
}
}

最佳答案

您可以使用 async/await 来实现:

addBasketItem.quantityCheck = async (req, res, next) => {
if (req.method === 'POST' || req.method === 'PUT') {
// console.log(extractParam(req))
var result = await utils.parseJsonCustom(req.rawBody)
var productId = 0
var reqQuantity = 0
....

关于javascript - 有没有办法在 Javascript 中进行下一次迭代之前等待计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56115624/

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