Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Ketergantungan data dan pertimbangan waktu
Saat membangun aplikasi kompleks di App Studio, penting untuk memahami dan mengelola dependensi data antara komponen data yang berbeda, seperti formulir, tampilan detail, dan komponen yang didukung otomatisasi. Komponen data dan otomatisasi mungkin tidak menyelesaikan pengambilan atau eksekusi data mereka secara bersamaan, yang dapat menyebabkan masalah waktu, kesalahan, dan perilaku tak terduga. Dengan menyadari potensi masalah waktu dan mengikuti praktik terbaik, Anda dapat menciptakan pengalaman pengguna yang lebih andal dan konsisten di aplikasi App Studio Anda.
Beberapa masalah potensial adalah sebagai berikut:
Konflik waktu render: Komponen data dapat dirender dalam urutan yang tidak selaras dengan dependensi datanya, berpotensi menyebabkan inkonsistensi visual atau kesalahan.
Pengaturan waktu proses otomatisasi: Tugas otomatisasi dapat selesai sebelum komponen dimuat penuh, yang menyebabkan kesalahan eksekusi runtime.
Komponen mogok: Komponen yang didukung oleh otomatisasi dapat macet pada respons yang tidak valid atau ketika otomatisasi belum selesai berjalan.
Contoh: Detail pesanan dan informasi pelanggan
Contoh ini menunjukkan bagaimana dependensi antara komponen data dapat menyebabkan masalah waktu dan potensi kesalahan dalam tampilan data.
Pertimbangkan aplikasi dengan dua komponen data berikut pada halaman yang sama:
Komponen Detail (
orderDetails) yang mengambil data pesanan.Komponen Detail (
customerDetails) yang menampilkan detail pelanggan terkait dengan pesanan.
Dalam aplikasi ini, ada dua bidang dalam komponen orderDetails detail, dikonfigurasi dengan nilai-nilai berikut:
// 2 text fields within the orderDetails detail component // Info from orderDetails Component {{ui.orderDetails.data[0].name}} // Info from customerDetails component {{ui.customerDetails.data[0].name}} // Problematic reference
Dalam contoh ini, orderDetails komponen mencoba menampilkan nama pelanggan dengan mereferensikan data dari customerDetails komponen. Ini bermasalah, karena orderDetails komponen dapat dirender sebelum customerDetails komponen mengambil datanya. Jika pengam customerDetails bilan data komponen tertunda atau gagal, orderDetails komponen akan menampilkan informasi yang tidak lengkap atau salah.
Ketergantungan data dan praktik terbaik waktu
Gunakan praktik terbaik berikut untuk mengurangi ketergantungan data dan masalah waktu di aplikasi App Studio Anda:
Gunakan rendering bersyarat: Hanya merender komponen atau menampilkan data setelah Anda mengonfirmasi bahwa itu tersedia. Gunakan pernyataan kondisional untuk memeriksa keberadaan data sebelum menampilkannya. Cuplikan berikut menunjukkan contoh pernyataan kondisional:
{{ui.someComponent.data ? ui.someComponent.data.fieldName: "Loading..."}}Kelola visibilitas komponen anak: Untuk komponen seperti Stepflow, Form, atau Detail yang merender anak sebelum datanya dimuat, atur visibilitas komponen anak secara manual. Cuplikan berikut menunjukkan contoh pengaturan visibilitas berdasarkan ketersediaan data komponen induk:
{{ui.parentComponent.data ? true : false}}Gunakan kueri gabungan: Jika memungkinkan, gunakan kueri gabungan untuk mengambil data terkait dalam satu kueri. Ini mengurangi jumlah pengambilan data terpisah dan meminimalkan masalah waktu antara komponen data.
Terapkan otomatisasi penyerahan kesalahan: Ter apkan penanganan kesalahan yang kuat dalam otomatisasi Anda untuk mengelola skenario dengan anggun di mana data yang diharapkan tidak tersedia atau respons yang tidak valid diterima.
Gunakan rantai opsional: Saat mengakses properti bersarang, gunakan rantai opsional untuk mencegah kesalahan jika properti induk tidak ditentukan. Cuplikan berikut menunjukkan contoh rantai opsional:
{{ui.component.data?.[0]?.fieldSystemName}}