Adakah ".then(function(a){ return a; })" merupakan No-Op for Promises?
.then(function (a) { return a; }) memang nampaknya tidak boleh digunakan dalam konteks Janji. Seperti yang dijelaskan dalam tutorial yang anda rujuk, Promises membenarkan perangkaian operasi. Setiap operasi dalam rantai boleh dianggap sebagai fungsi yang mengambil Promise sebagai input dan mengembalikan Promise sebagai output.
Tujuan kaedah ".then(...)" adalah untuk menentukan tindakan apa hendaklah diambil apabila Janji sebelumnya diselesaikan. Dalam kes ini, fungsi yang dihantar kepada ".then(...)" hanya mengembalikan nilai input tanpa sebarang transformasi. Ini bermakna bahawa output operasi ".then(...)" adalah sama dengan input, dengan berkesan menjadikannya no-op.
Untuk menjawab soalan anda secara terus, ya, kedua-dua fungsi memanggil yang anda berikan, dengan dan tanpa panggilan ".then(...)", adalah sama. Kedua-duanya akan mengembalikan Janji yang sama dan boleh digunakan dengan cara yang sama.
Sebab mengapa pengarang mungkin menulis kod dengan panggilan ".then(...)" adalah soal keutamaan peribadi atau salah faham. Secara umumnya tidak dianggap sebagai amalan terbaik untuk memasukkan kod yang tidak diperlukan, terutamanya apabila ia boleh membawa kepada kekeliruan.
Oleh itu, adalah disyorkan untuk meninggalkan panggilan ".then(function (a) { return a; })" apabila ia sebenarnya tidak melakukan sebarang transformasi berguna pada nilai Promise.
Atas ialah kandungan terperinci Adakah Menggunakan `.then(function(a){ return a; })` No-Op for Promises?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!