如何使用JavaScript中的promise对象
JavaScript中promise是一个对象,表示异步处理的最终完成或失败,使用promise可以很容易的进行异步处理,promise对象还可以明确异步执行成功和失败时的过程,因此可以消除问题的原因。
promise对象也可以执行并发异步处理,换句话说,可以按顺序执行多个异步处理,并在下一个处理中使用先前处理的结果。
JavaScript按顺序执行命令语句
例如,下面有三种函数,如果处理被sample2函数延迟,则不处理sample3函数。
顺序执行的JavaScript程序的示例
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <script> var result = "正确。"; var doSomething1 = function() { console.log('处理没有出现问题1' + result); }; var doSomething2 = function() { console.log('出现错误 ' + result2); }; var doSomething3 = function() { console.log('处理没有出现问题 3' + result); }; doSomething1(); doSomething2(); doSomething3(); </script> </body> </html>
运行结果如下所示
JavaScript回调函数
与此相对应的,
与此相反,有些方法不会读入页面然后按顺序处理。
比如,读到页面后,过了5秒就可以执行了。
当页面加载并完成其他处理时,将在5秒后执行此操作。
页面读取5秒后执行的程序
代码如下
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <script> setTimeout(function() { alert('刚刚过去了5秒!'); }, 5000) </script> </body> </html>
效果如下:5秒后将会显示如下页面
这样,在完成某个进程后,回调相应的函数被称为回调,此外,这种功能称为回调功能。
回调函数与promise
如果有回调函数的话,则无法使用回调函数轻松解决异步处理等问题。
这是因为使用回调函数创建复杂的异步处理会导致代码非常复杂。
此外,回调函数用于接收异步执行的结果,其规范取决于每个库。
出现在那里的是“promise”。
通过使用promise,可以更简单地创建异步处理,并且也可以统一规范的接收结果。
使用环境
由于某些浏览器与promise不兼容,因此最好事先检查您的环境中是否有能够支持使用的浏览器。
promise的作用
1.使用promise,可以保证在当前正在处理的JavaScript事件循环执行完成之前不会被调用。这使得能够实际地进行考虑顺序的处理。
2.使用promise,如果异步处理虽然完成但是失败后,利用.then注册回调也可以保证操作。换句话说,在完成当前正在处理的JavaScript事件循环的执行之前,不会进行调用。
3.使用.promise,.then可以多次实现。换句话说,保证可以按添加顺序独立地执行多个回调函数。
接下来我们就来看一下 promise的使用方法
使用以下语法描述Promise。
new Promise( function(resolve, reject) { ... } );
执行的顺序是
function(resolve, reject) { ... }
已被执行
new Promise
将被执行
function(resolve, reject)
处理成功时执行Resolve,处理失败时执行reject。
我们来看一个具体的示例
像回调函数一样,我们将在5秒后创建一个要处理的程序。
代码如下
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <script> function hidouki() { return new Promise(function (resolve, reject) { setTimeout(function () { resolve('异步执行成功'); }, 5000); }); } hidouki().then(function (value) { console.log(value); }).catch(function (error) { console.log(error); }); </script> </body> </html>
执行结果
Atas ialah kandungan terperinci 如何使用JavaScript中的promise对象. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Soalan dan penyelesaian yang sering ditanya untuk percetakan tiket kertas terma depan dalam pembangunan front-end, percetakan tiket adalah keperluan umum. Walau bagaimanapun, banyak pemaju sedang melaksanakan ...

Tidak ada gaji mutlak untuk pemaju Python dan JavaScript, bergantung kepada kemahiran dan keperluan industri. 1. Python boleh dibayar lebih banyak dalam sains data dan pembelajaran mesin. 2. JavaScript mempunyai permintaan yang besar dalam perkembangan depan dan stack penuh, dan gajinya juga cukup besar. 3. Faktor mempengaruhi termasuk pengalaman, lokasi geografi, saiz syarikat dan kemahiran khusus.

Bagaimana cara menggabungkan elemen array dengan ID yang sama ke dalam satu objek dalam JavaScript? Semasa memproses data, kita sering menghadapi keperluan untuk mempunyai id yang sama ...

JavaScript adalah asas kepada pembangunan web moden, dan fungsi utamanya termasuk pengaturcaraan yang didorong oleh peristiwa, penjanaan kandungan dinamik dan pengaturcaraan tak segerak. 1) Pengaturcaraan yang didorong oleh peristiwa membolehkan laman web berubah secara dinamik mengikut operasi pengguna. 2) Penjanaan kandungan dinamik membolehkan kandungan halaman diselaraskan mengikut syarat. 3) Pengaturcaraan Asynchronous memastikan bahawa antara muka pengguna tidak disekat. JavaScript digunakan secara meluas dalam interaksi web, aplikasi satu halaman dan pembangunan sisi pelayan, sangat meningkatkan fleksibiliti pengalaman pengguna dan pembangunan silang platform.

Perbincangan mendalam mengenai punca-punca utama perbezaan dalam output konsol.log. Artikel ini akan menganalisis perbezaan hasil output fungsi Console.log dalam sekeping kod dan menerangkan sebab -sebab di belakangnya. � ...

Sebaik sahaja anda telah menguasai tutorial TypeScript peringkat kemasukan, anda harus dapat menulis kod anda sendiri dalam IDE yang menyokong TypeScript dan menyusunnya ke dalam JavaScript. Tutorial ini akan menyelam ke dalam pelbagai jenis data dalam TypeScript. JavaScript mempunyai tujuh jenis data: null, undefined, boolean, nombor, rentetan, simbol (diperkenalkan oleh ES6) dan objek. Typescript mentakrifkan lebih banyak jenis atas dasar ini, dan tutorial ini akan meliputi semuanya secara terperinci. Jenis data null Seperti JavaScript, Null dalam TypeScript

Perbincangan mengenai realisasi kesan animasi tatal dan elemen Parallax dalam artikel ini akan meneroka bagaimana untuk mencapai yang serupa dengan laman web rasmi Shiseido (https://www.shiseido.co.jp/sb/wonderland/) ... ...

JavaScript boleh dijalankan di PowerPoint, dan boleh dilaksanakan dengan memanggil fail JavaScript luaran atau membenamkan fail HTML melalui VBA. 1. Untuk menggunakan VBA untuk memanggil fail JavaScript, anda perlu mendayakan makro dan mempunyai pengetahuan pengaturcaraan VBA. 2. Benamkan fail HTML yang mengandungi JavaScript, yang mudah dan mudah digunakan tetapi tertakluk kepada sekatan keselamatan. Kelebihan termasuk fungsi lanjutan dan fleksibiliti, sementara kelemahan melibatkan keselamatan, keserasian dan kerumitan. Dalam praktiknya, perhatian harus dibayar kepada keselamatan, keserasian, prestasi dan pengalaman pengguna.
