JavaScript / Try / Catch / Finnaly с ESLint Ожидается, что будет возвращать значение в конце функции асинхронной стрелки

Try / Catch / Finnaly with ESLint Ожидается, что в конце функции асинхронной стрелки будет возвращено значение

Правило здесь последовательное возвращение .

Вы ничего не возвращаете, если оператор if в блоке try не выполнен. Вы должны вернуть что-то, если вызов isSubscribeed правдив:

 export const getGooglePlayPayment = async (productId) ={amp}gt; { await InAppBilling.close(); try { await InAppBilling.open(); if (!await InAppBilling.isSubscribed(productId)) { const details = await InAppBilling.subscribe(productId); console.log('You purchased: ', details); return details.purchaseState === PAYMENT_STATE.PurchasedSuccessfully; } return 'Already subscribed'; } catch (err) { console.log(err); return false; } finally { await InAppBilling.consumePurchase(productId); await InAppBilling.close(); } }; 

(Конечно, замените « Already subscribed что будет наиболее целесообразно там. Если вы просто хотите указать, что транзакция выполнена успешно, возможно, return true . Важно отличать ее от return false в catch .)

Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector