簡體   English   中英

如果沒有等待 promise,如何拋出錯誤?

[英]How to throw an error if promise is not awaited?

我正在處理一個返回 promise 的 function,這是一個簡單的 Boolean。問題是它很重要,我忘記使用“等待”,所以它總是有一個真實的價值。 我是在幾次測試后無意中發現的。 我想知道如果沒有使用 await 來避免任何未來的問題,是否有辦法引發錯誤。

這里有一些代碼來說明問題:

async function isAdm(message) {
    let chat = await message.getChat();

    let admList = await getAdmsList(chat);
    let author = message.author;

    return admList.includes(author);
}

console.log(isAdm(message));
console.log(Boolean(isAdm(message)));
>>> Promise { <pending> }
>>> true

好吧,不,我不認為會有一個合理的“類似異常”的解決方案。

確保此類問題的正確行為的最佳方法可能是Unit-Tests

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM