انتقل إلى المحتوى الرئيسي

عقدة function

عقدة function تُستخدم لكتابة كود JavaScript مخصص، مما يسمح بتنفيذ حسابات معقدة، وتحويل البيانات، ومنطق معالجة الرسائل. إنها توفر مرونة لتنفيذ المنطق الذي لا تدعمه العقد القياسية.


إعدادات عقدة function

IMG2

1. الاسم

حقل لتحديد اسم العقدة.
يظهر الاسم في مساحة العمل ويساعد في التعرف بسهولة على العقدة.
إذا ترك فارغًا، ستُسمى العقدة function.

مثال:

  • اسم العقدة: auth data

2. الدالة

يتم إدخال كود JavaScript في هذا الحقل، والذي سيتم تنفيذه لكل رسالة تمر عبر العقدة.

تنسيق البيانات الواردة:

يتلقى الكود كائن msg، الذي يمثل الرسالة الحالية.

تنسيق البيانات المرجعة:

  • يجب على العقدة إرجاع كائن الرسالة (أو مصفوفة من الكائنات) لتمرير البيانات إلى الأمام في السلسلة.
  • إذا تم إرجاع null، فلن يتم إرسال الرسالة إلى الأمام.

مثال:

// زيادة قيمة msg.payload بمقدار 1
msg.payload = msg.payload + 1;
return msg;

أمثلة على الاستخدام

مثال 1: ضرب القيمة في msg.payload

msg.payload = msg.payload * 2;
return msg;

الوصف:

  • يأخذ قيمة msg.payload، ويضربها في 2، ويرسل الكائن المحدث.

مثال 2: إضافة خاصية جديدة

msg.newProperty = "Hello, World!";
return msg;

الوصف:

  • ينشئ خاصية جديدة newProperty ويضيفها إلى كائن msg.

مثال 3: معالجة الرسائل الشرطية

if (msg.payload > 100) {
msg.alert = "High value detected!";
} else {
msg.alert = "Value is normal.";
}
return msg;

الوصف:

  • يضيف خاصية alert مع تحذير نصي بناءً على قيمة msg.payload.

مثال 4: تصفية الرسائل

if (msg.payload > 50) {
return msg; // تمرير الرسالة إلى الأمام
}
return null; // إيقاف الرسالة

الوصف:

  • يسمح بمرور الرسائل فقط مع msg.payload > 50، بينما يتم إيقاف البقية.