صحنه را تصور کنید: شما باید یک اشکال مهم را در سیستم پرداخت خود ایجاد کنید، و ذینفع با عصبانیت از گوشه اتاق نظاره گر موارد مفیدی است، مانند “چقدر به اصلاح نزدیک هستیم؟”.
شما با نگاه کردن به برخی کدها شروع می کنید get-payment-methods.ts
، نقطه ورودی سطح بالای یک مسیر API.
// get-payment-methods.ts
const getPaymentMethods = async (req) = {
const paymentMethods = await loadPaymentMethodsForCustomer(req.customerId);
return res.send(paymentMethods);
}
این معقول به نظر می رسد، شما با خودتان فکر می کنید.
مشکل شماره 1: پیمایش سخت است
شما باید نگاهی به چه چیزی داشته باشید loadPaymentMethodsForCustomer()
انجام می دهد. باشه بریم
CMD کلیک کنید.
// services/payment-methods.ts
const loadPaymentMethodsForCustomer = async (customerId) = {
try {
const traceId = uuid();
const customerPaymentMethods = getPaymentMethodsOrThrow(customerId, traceId);
return customerPaymentMethods.map(someConversionFunction);
} catch(err) {
return errorHandler(err);
}
}
هوم حالا باید نگاه کنید getPaymentMethodsOrThrow()
.
CMD کلیک کنید. CMD کلیک کنید. CMD کلیک کنید.
عمیقتر و عمیقتر وارد شبکه درهمتنیده توابع تو در تو میشویم. نور خورشید نمی تواند به این اعماق در پایگاه کد نفوذ کند و مدت ها پیش شما دلیل حضورتان در اینجا را از دست داده اید.
مدتی بعد به …