我有执行我所有逻辑的函数,然后想获得所有产品的计数。我可以做一个.then()
,但我不希望它嵌套。
我也想先执行此查询。我该如何运行它并首先在变量中获取结果。我尝试了异步等待,但是在完成之前它仍然跳到了下一节。
我也试过Promise.resolve
// initial code here
let productCount = Promise.resolve( Product.count({
where: {
title: {
$like: '%'+searchTerm+'%'
},
},
}).then(result => {
return result
})
)
// get product count
// do some logic
// my next query which I do results in .then
最佳答案
我不确定我是否已经完全理解您,但是如果您只想等待Product.count()完成再继续操作,则可以执行以下操作:
async function productCount(searchTerm) {
let productCount = await Product.count({
where: {
title: {
$like: '%'+searchTerm+'%'
},
},
})
return productCount
}
当您调用productCount()时,您还必须使用await并将'async'放在调用函数名称的前面,例如:
async function callingFunction() {
...
let productCount = await productCount(searchTerm)
// do something with productCount
}