簡體   English   中英

如何使用if-error-return模式滿足eslint中的“一致返回”規則?

[英]How to satisfy the “consistent-return” rule in eslint using an if-error-return pattern?

我有一些代碼:

foo((error, data) => {
    if (error) {
        return;
    }

    // do something with data
});

這將導致返回“一致返回”錯誤。 我知道這是一個固執己見的問題,然而,滿足這條規則的合理方法是什么?

我的方法是否正確? 我應該使用return在回調體內有效“破解”嗎? // do something with data行之后,我是否必須添加一個空的return語句?

Consistent-return表示您的函數應始終返回相同類型的數據。 所以,如果你返回undefined的錯誤時,你也應該返回undefined的其他案件。

foo((error, data) => {
    if (error) {
        return;
    }

    return;
});

如果你的函數應該在錯誤為false時返回數據,那么你可能不希望返回undefined ,而是拋出一個Error

foo((error, data) => {
    if (error) {
        throw new Error()
    }

    return data; // or anything else
});

暫無
暫無

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

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