Bagaimana untuk menunggu klik butang dalam rantai Janji untuk menjeda pelaksanaan?
P粉170438285
2023-08-15 13:06:43
<p>Saya cuba merantai beberapa panggilan bahagian belakang untuk memproses fail, tetapi keseluruhan aliran kerja memerlukan pengguna untuk memberikan beberapa input separuh jalan. Saya tidak pasti cara untuk menjeda pelaksanaan sehingga pengguna mengklik butang "<kod>Teruskan</kod>" supaya ia boleh terus berfungsi. </p>
<p>Jadi prosesnya adalah seperti berikut:</p>
<ol>
<li>Pengguna memilih fail dan mencetuskan acara untuk memuat naik beberapa data. </li>
<li>Saya mendapat respons daripada panggilan sebelumnya, membuka modal dengan borang. Saya perlu berhenti sebentar di sini. </li>
<li>Isi borang dan klik butang <kod>Teruskan</kod> </li>
<li>Cetuskan panggilan lain untuk menyerahkan maklumat lanjut ke titik akhir yang lain. </li>
</ol>
<p>Jadi, setiap langkah ini melibatkan permintaan HTTP, menggunakan <code>axios</code>, tetapi saya menghadapi masalah memahami cara merantai janji ini. </p>
<p>Sekarang saya mempunyai kod yang serupa dengan: </p>
<pre class="brush:js;toolbar:false;">onFileSelected(event) {
// kod di sini
aksios
.post("")
.then((res) => {
//Di sini saya perlu membuka kotak modal dan menunggu butang diklik
})
.then(() => {
anotherMethod();
});
}
</pra>
<p><br /></p>
Promise sendiri tidak menyediakan kaedah untuk menjeda pelaksanaan, tetapi anda boleh menggunakan sintaks async/menunggu untuk mencapai ini. Buat Janji tersuai yang diselesaikan apabila pengguna mengklik butang "Teruskan". Seperti ini: