[英]Nodejs Promise inside switch case giving error
我嘗試了類似問題的stackoverflow上提到的各種方法,但仍然無法解決問題。 我有一個包含各種開關案例的普通函數(不是異步函數)。 我有一個單獨的功能,可以解決或拒絕。 例如-
function Student (req) {
const id = req.id
const count = req.num
for (i=0;i<num,i++)
{
switch(id){
case 'a':
feesPaid=true
break;
case 'b':
const a = await getStudent (id) // gives error under getStudent that unexpected token eslint
getStudent (id).then((result)=>{
if(result.reciept){
feesPaid=true
}else{
feesPaid=false. // Returning pending promise which doesn't return anything, tried return feesPaid as well
}
}). catch (e)...
break;
}
}
}
由於某種原因我無法使用此功能,有什么辦法可以返回費用支付值嗎? 似乎它沒有更新任何內容或任何檢查。 feePaid 值是必要的,因為它用於進一步計算。 請幫忙。
有幾種方法可以解決這個問題:
async function
。無論你做什么,它總是會影響其他代碼塊。
使用.then()
將不起作用,因為該函數將在 Promise 解析之前很久就返回。 只返回feesPaid
行不通的,因為Promise 在feesPaid
被賦值之前還沒有完成。
解決您的問題最簡單的方法是修改您的函數以使用async/await
,並修改所有受影響的代碼以使用async/await
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.