mata utama
- Kuki dan Sesi adalah komponen kritikal dalam pembangunan web dan digunakan untuk menguruskan data pengguna, pengesahan, dan status. Kuki adalah sedikit potongan data yang disimpan oleh pelayar web pada peranti pengguna, dan sesi merujuk kepada masa pengguna melayari laman web.
- Dalam React, anda boleh menggunakan API
- , membuat cangkuk tersuai, atau menggunakan perpustakaan pihak ketiga untuk melaksanakan kuki. Sesi dalam React boleh dilaksanakan melalui sesi pelayan atau pengesahan berasaskan token.
document.cookie
Amalan terbaik untuk menguruskan sesi dan kuki dalam React termasuk: Melindungi kuki dengan bendera - dan
HttpOnly
, membolehkan tamat tempoh sesi dan refresh token, menyulitkan data sensitif, menggunakan atributsecure
, dan memisahkan status pengesahan dan aplikasi.SameSite
perpustakaan pihak ketiga seperti JS-Cookies dapat memudahkan pengurusan kuki dalam aplikasi React. Adalah disyorkan untuk mengemas kini kebergantungan secara teratur untuk mendapat manfaat daripada patch keselamatan dan penambahbaikan. - Audit dan ujian keselamatan tetap adalah penting untuk memastikan keselamatan aplikasi. Alat dan amalan seperti Dasar Keselamatan Kandungan (CSP) boleh digunakan untuk mengurangkan risiko keselamatan.
Kuki dan Sesi adalah komponen pembangunan web yang sangat diperlukan. Mereka adalah medium untuk menguruskan data pengguna, pengesahan, dan status.
cookies adalah sejumlah kecil data (sehingga 4096 bait) yang disimpan dalam pelayar web pada peranti pengguna. Kuki biasa kelihatan seperti ini (ini adalah Google Analytics -
- cookie): _ga
<code>名稱:_ga 值:GA1.3.210706468.1583989741 域:.example.com 路徑:/ 過期/最大年齡:2022-03-12T05:12:53.000Z</code>Cookie hanya rentetan dengan pasangan nilai kunci.
"Sesi" merujuk kepada masa pengguna melayari laman web. Mereka mewakili aktiviti berterusan pengguna dalam tempoh masa.
Dalam React, cookies dan sesi membantu kami membuat aplikasi yang mantap dan selamat.
Asas-asas Cookies dan Sesi yang mendalam
Memahami asas-asas kuki dan sesi adalah asas untuk membangunkan aplikasi web dinamik dan pengguna yang berpusat.
Bahagian ini akan meneroka konsep kuki dan sesi dengan cara yang lebih mendalam, meneroka jenis mereka, kitaran hidup, dan kes penggunaan biasa.
cookie
Cookies terutamanya mengekalkan data keadaan antara klien dan pelayan dalam pelbagai permintaan. Kuki membolehkan anda menyimpan dan mengambil data dari mesin pengguna, menyediakan pengalaman melayari yang lebih peribadi/lancar.
Jenis Cookie
Terdapat pelbagai jenis kuki, masing -masing sesuai untuk kes penggunaannya yang dimaksudkan.
- Cookies Sesi adalah sementara dan hanya wujud semasa sesi pengguna. Mereka menyimpan maklumat ringkas, seperti item dalam keranjang belanja:
<code>名稱:_ga 值:GA1.3.210706468.1583989741 域:.example.com 路徑:/ 過期/最大年齡:2022-03-12T05:12:53.000Z</code>
- Cookie Permanence mempunyai tarikh tamat tempoh dan akan kekal pada mesin pengguna untuk jangka masa yang lebih lama. Mereka sesuai untuk ciri -ciri seperti ciri Rema Me:
// 示例:設(shè)置會話 Cookie document.cookie = "sessionID=abc123; path=/";
usercases cookies dalam react
- Pengesahan Pengguna. Apabila pengguna log masuk dengan jayanya, token sesi atau JWT (token web JSON) biasanya disimpan dalam kuki:
// 示例:設(shè)置具有過期日期的持久性 Cookie document.cookie = "username=JohnDoe; expires=Fri, 31 Dec 2023 23:59:59 GMT; path=/";
- Keutamaan pengguna. Cookies biasanya menyimpan keutamaan pengguna, seperti pemilihan tema atau tetapan bahasa, untuk pengalaman peribadi yang lebih baik.
document.cookie = "token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...; path=/";
sesi
Definisi dan penggunaan
Sesi mewakili entiti sisi pelayan logik yang menyimpan data khusus pengguna semasa akses. Sesi berkait rapat dengan kuki, tetapi disimpan dengan cara yang berbeza; (Data cookie disimpan di pelayan.)
sesi pelayan dan klien
-
Sesi sisi pelayan melibatkan penyimpanan data sesi pada pelayan. Rangka kerja seperti Express.js Gunakan sesi sisi pelayan untuk menguruskan status pengguna:
// 示例:在 Cookie 中存儲用戶偏好設(shè)置 document.cookie = "theme=dark; path=/";
-
sesi klien. Apabila menggunakan sesi klien, tidak perlu meniru, mengesahkan sesi, atau menanyakan kedai data antara nod. Walaupun "sesi klien" boleh merujuk kepada maklumat penyimpanan sesi pada klien, biasanya melibatkan penggunaan kuki untuk menyimpan pengecam sesi:
// 使用 express-session 中間件 const express = require('express'); const session = require('express-session'); const app = express(); app.use(session({ secret: 'your-secret-key', resave: false, saveUninitialized: true, }));
Memahami kehalusan kuki dan sesi membantu membina aplikasi web yang dinamik dan interaktif.
Bahagian seterusnya akan meneroka pelaksanaan kuki dan sesi sebenar dalam aplikasi React.
Cookies Pelaksanaan
Seperti yang dinyatakan sebelum ini, kuki adalah komponen asas proses web dan aplikasi React.
bagaimana melaksanakan kuki dalam React termasuk:
- menggunakan
document.cookie
api - Buat Custom Hook
- menggunakan perpustakaan pihak ketiga
menggunakan document.cookie
api
Cara paling asas untuk menggunakan kuki dalam React adalah melalui API document.cookie
. Ia menyediakan antara muka yang mudah untuk menetapkan, mendapatkan dan memadam kuki.
-
Tetapkan cookies:
// 示例:在客戶端的 Cookie 中存儲 Session ID document.cookie = "sessionID=abc123; path=/";
-
Dapatkan cookies:
// 設(shè)置 Cookie 的函數(shù) const setCookie = (name, value, days) => { const expirationDate = new Date(); expirationDate.setDate(expirationDate.getDate() + days); document.cookie = `${name}=${value}; expires=${expirationDate.toUTCString()}; path=/`; }; // 示例:設(shè)置一個在 7 天后過期的用戶名 Cookie setCookie("username", "john_doe", 7);
-
Padam cookie:
// 按名稱獲取 Cookie 值的函數(shù) const getCookie = (name) => { const cookies = document.cookie .split("; ") .find((row) => row.startsWith(`${name}=`)); return cookies ? cookies.split("=")[1] : null; }; // 示例:獲取“username” Cookie 的值 const username = getCookie("username");
Gunakan cangkuk tersuai untuk mengendalikan kuki
Buat cangkuk React Custom untuk merangkum ciri-ciri yang berkaitan dengan kuki supaya ia boleh digunakan semula antara komponen:
// 按名稱刪除 Cookie 的函數(shù) const deleteCookie = (name) => { document.cookie = `${name}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/`; }; // 示例:刪除“username” Cookie deleteCookie("username");
Hook Custom useCookie
ini mengembalikan nilai semasa kuki, fungsi yang menetapkan nilai baru, dan fungsi yang memadamkan kuki.
menggunakan perpustakaan pihak ketiga
perpustakaan pihak ketiga seperti JS-Cookies memudahkan pengurusan cookie dalam aplikasi React.
-
Perpustakaan Pemasangan:
// useCookie.js import { useState, useEffect } from "react"; const useCookie = (cookieName) => { const [cookieValue, setCookieValue] = useState(""); useEffect(() => { const cookie = document.cookie .split("; ") .find((row) => row.startsWith(`${cookieName}=`)); setCookieValue(cookie ? cookie.split("=")[1] : ""); }, [cookieName]); const setCookie = (value, expirationDate) => { document.cookie = `${cookieName}=${value}; expires=${expirationDate.toUTCString()}; path=/`; }; const deleteCookie = () => { document.cookie = `${cookieName}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/`; }; return [cookieValue, setCookie, deleteCookie]; }; // 在 React 組件中的用法 const [username, setUsername, deleteUsername] = useCookie("username");
-
Penggunaan dalam komponen React:
<code>名稱:_ga 值:GA1.3.210706468.1583989741 域:.example.com 路徑:/ 過期/最大年齡:2022-03-12T05:12:53.000Z</code>
menggunakan perpustakaan pihak ketiga seperti JS-Cookies menyediakan API yang mudah dan mudah untuk pengurusan cookie dalam komponen React.
Memahami pendekatan yang berbeza ini membantu kami memilih yang paling sesuai dengan keperluan dan kerumitan aplikasi React kami.
Melaksanakan sesi
Dalam aplikasi React, Sesi berfungsi di sisi pelayan, sementara pengenal sesi menggunakan kuki untuk bekerja di sisi klien.
Kaedah untuk melaksanakan sesi termasuk:
- sesi sisi pelayan
- Pengesahan berasaskan token
sesi sisi pelayan
Sesi sisi pelayan melibatkan menyimpan data sesi pada pelayan. Dalam React, ini bermakna menggunakan rangka kerja pelayan seperti Express.js dan Middleware Pengurusan Sesi.
-
set express.js menggunakan sesi ekspres: Pertama, pasangkan pakej yang diperlukan:
// 示例:設(shè)置會話 Cookie document.cookie = "sessionID=abc123; path=/";
Sekarang, konfigurasikan Express:
// 示例:設(shè)置具有過期日期的持久性 Cookie document.cookie = "username=JohnDoe; expires=Fri, 31 Dec 2023 23:59:59 GMT; path=/";
secret
Digunakan untuk menandatangani kuki ID sesi, menambah lapisan keselamatan tambahan. -
Gunakan sesi dalam penghalaan: Selepas mengkonfigurasi sesi, kita boleh menggunakannya dalam laluan:
document.cookie = "token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...; path=/";
Selepas berjaya masuk, maklumat pengguna akan disimpan dalam sesi. Maklumat ini boleh diakses oleh permintaan berikutnya untuk laluan
/profile
.
Pengesahan berasaskan token
Pengesahan berasaskan token adalah cara untuk menguruskan sesi dalam aplikasi React moden. Ia melibatkan menjana token selepas pengesahan yang berjaya di pelayan, menghantarnya kepada pelanggan, dan termasuk dalam tajuk permintaan berikutnya.
-
menghasilkan dan menghantar token: Di sisi pelayan:
// 示例:在 Cookie 中存儲用戶偏好設(shè)置 document.cookie = "theme=dark; path=/";
Pelayan menjana JWT (JSON Web Token) dan menghantarnya kepada pelanggan.
-
Sertakan token dalam permintaan: Pada pelanggan (React):
// 使用 express-session 中間件 const express = require('express'); const session = require('express-session'); const app = express(); app.use(session({ secret: 'your-secret-key', resave: false, saveUninitialized: true, }));
di atas menggunakan konteks React untuk menguruskan status pengesahan. Fungsi
login
mengemas kini status menggunakan token yang diterima. -
Gunakan token atas permintaan: Dengan token, masukkannya dalam tajuk permintaan:
// 示例:在客戶端的 Cookie 中存儲 Session ID document.cookie = "sessionID=abc123; path=/";
Apabila meminta dengan Axios, token secara automatik ditambah ke tajuk.
Kedua -dua kaedah membantu kami menguruskan sesi kami dengan berkesan, memberikan pengalaman yang selamat dan lancar.
amalan terbaik untuk menguruskan sesi dan kuki dalam reaksi
Pengendalian sesi dan kuki dalam aplikasi React adalah penting untuk membina aplikasi web yang selamat, mesra pengguna, dan berprestasi tinggi.
Untuk memastikan aplikasi React kami berfungsi dengan betul, sila lakukan yang berikut.
Gunakan HttpOnly
dan secure
kuki perlindungan logo
Sentiasa masukkan logo HttpOnly
dan secure
di mana berkenaan.
-
HttpOnly
. Bendera ini menghalang serangan ke atas kuki melalui JavaScript atau mana-mana kod jahat lain, mengurangkan risiko serangan skrip lintas tapak (XSS). Ia memastikan bahawa kuki hanya boleh diakses oleh pelayan:<code>名稱:_ga 值:GA1.3.210706468.1583989741 域:.example.com 路徑:/ 過期/最大年齡:2022-03-12T05:12:53.000Z</code>
-
secure
. Bendera ini memastikan bahawa kuki hanya dihantar melalui sambungan yang disulitkan (HTTPS) yang selamat. Ia dapat mengurangkan risiko pemintasan pengguna yang berniat jahat:// 示例:設(shè)置會話 Cookie document.cookie = "sessionID=abc123; path=/";
Melaksanakan tamat tempoh sesi dan refresh token
Untuk keselamatan yang dipertingkatkan, melaksanakan tamat tempoh sesi dan sifat penyegaran token. Menyegarkan token secara teratur atau menetapkan masa tamat tempoh sesi dapat membantu mengurangkan risiko akses yang tidak dibenarkan.
- Token Refresh. Segarkan semula token pengesahan untuk memastikan pengguna tetap disahkan. Ini berkaitan dengan aplikasi dengan sesi pengguna yang lebih lama.
- sesi tamat tempoh. Tetapkan masa tamat tempoh sesi yang munasabah untuk mengehadkan tempoh sesi pengguna. Ini membantu mencegah rampasan sesi.
// 示例:設(shè)置具有過期日期的持久性 Cookie document.cookie = "username=JohnDoe; expires=Fri, 31 Dec 2023 23:59:59 GMT; path=/";
/login
titik akhir mengembalikan token JWT awal selepas pengesahan yang berjaya. /refresh-token
Titik akhir menggunakan token penyegaran untuk menghasilkan token akses baru.
menyulitkan data sensitif
Elakkan menyimpan maklumat sensitif secara langsung dalam kuki atau sesi. Untuk mengekalkan data sensitif dalam keadaan yang tidak dapat dielakkan, menyulitkannya sebelum menyimpannya. Penyulitan menambah lapisan keselamatan tambahan, menjadikannya lebih sukar untuk mengakses maklumat sensitif walaupun pengguna jahat memintas data:
document.cookie = "token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...; path=/";
menggunakan SameSite
Properties
Atribut SameSite
membantu mencegah serangan pemalsuan permintaan lintas tapak (CSRF) dengan menyatakan apabila kuki dihantar bersama-sama dengan permintaan lintas tapak.
-
Strict
. Kuki hanya dihantar dalam konteks pihak pertama, menghalang laman web pihak ketiga daripada membuat permintaan bagi pihak pengguna.// 示例:在 Cookie 中存儲用戶偏好設(shè)置 document.cookie = "theme=dark; path=/";
-
Lax
. Benarkan kami menghantar kuki menggunakan navigasi peringkat atas (seperti ketika mengklik pautan), tetapi tidak permintaan pos silang tapak yang dimulakan oleh laman web pihak ketiga:// 使用 express-session 中間件 const express = require('express'); const session = require('express-session'); const app = express(); app.use(session({ secret: 'your-secret-key', resave: false, saveUninitialized: true, }));
Pengesahan dan Status Aplikasi berasingan
Elakkan menyimpan keseluruhan keadaan permohonan dalam kuki atau sesi. Data pengesahan berasingan dari negeri-negeri yang berkaitan dengan aplikasi lain untuk mengekalkan kejelasan dan meminimumkan risiko pendedahan kepada maklumat sensitif:
// 示例:在客戶端的 Cookie 中存儲 Session ID document.cookie = "sessionID=abc123; path=/";
Gunakan perpustakaan pihak ketiga untuk pengurusan cookie
Pertimbangkan menggunakan perpustakaan pihak ketiga yang matang untuk pengurusan cookie. Perpustakaan seperti JS-Cookie menyediakan API yang mudah dan mudah yang menafsirkan kerumitan API document.cookie
API:
// 設(shè)置 Cookie 的函數(shù) const setCookie = (name, value, days) => { const expirationDate = new Date(); expirationDate.setDate(expirationDate.getDate() + days); document.cookie = `${name}=${value}; expires=${expirationDate.toUTCString()}; path=/`; }; // 示例:設(shè)置一個在 7 天后過期的用戶名 Cookie setCookie("username", "john_doe", 7);
kemas kini berkaitan dengan kebergantungan
Pastikan perpustakaan dan rangka kerja pihak ketiga terkini untuk mendapat manfaat daripada patch keselamatan dan penambahbaikan. Kemas kini tetap kepada kebergantungan memastikan bahawa aplikasi kami tidak mudah terdedah kepada kelemahan yang diketahui.
Langkah Keselamatan Ujian
Bincangkan permohonan anda secara teratur untuk audit keselamatan dan ujian. Ini termasuk menguji kelemahan biasa seperti XSS dan CSRF. Pertimbangkan menggunakan alat dan amalan keselamatan seperti Dasar Keselamatan Kandungan (CSP) untuk mengurangkan risiko keselamatan.
Ringkasan
Kuki dan sesi adalah alat yang berguna untuk membina aplikasi reaksi yang selamat dan cekap. Mereka digunakan untuk menguruskan pengesahan pengguna, memelihara keutamaan pengguna, atau membolehkan interaksi negara.
Dengan mengikuti amalan terbaik dan menggunakan perpustakaan yang terbukti, kami boleh membuat aplikasi yang mantap dan boleh dipercayai yang memberikan pengalaman pengguna yang lancar sambil mengutamakan keselamatan.
Jika anda suka artikel ini, sila lihat sumber lain yang menarik dari Sitepoint:
- React Prestasi Pengoptimuman
- perpustakaan carta reaksi terbaik 2024
- 6 Teknik untuk rendering bersyarat dalam React, dengan contoh
Atas ialah kandungan terperinci Memahami kuki dan sesi dalam React. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

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

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

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

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)

Mekanisme pengumpulan sampah JavaScript secara automatik menguruskan memori melalui algoritma pembersihan tag untuk mengurangkan risiko kebocoran ingatan. Enjin melintasi dan menandakan objek aktif dari objek akar, dan tidak bertanda dianggap sebagai sampah dan dibersihkan. Sebagai contoh, apabila objek tidak lagi dirujuk (seperti menetapkan pembolehubah kepada null), ia akan dikeluarkan dalam pusingan seterusnya kitar semula. Punca kebocoran memori yang biasa termasuk: ① Pemasa atau pendengar peristiwa yang tidak jelas; ② Rujukan kepada pembolehubah luaran dalam penutupan; ③ Pembolehubah global terus memegang sejumlah besar data. Enjin V8 mengoptimumkan kecekapan kitar semula melalui strategi seperti kitar semula generasi, penandaan tambahan, kitar semula selari/serentak, dan mengurangkan masa menyekat benang utama. Semasa pembangunan, rujukan global yang tidak perlu harus dielakkan dan persatuan objek harus dihiasi dengan segera untuk meningkatkan prestasi dan kestabilan.

Terdapat tiga cara biasa untuk memulakan permintaan HTTP dalam node.js: Gunakan modul terbina dalam, axios, dan nod-fetch. 1. Gunakan modul HTTP/HTTPS terbina dalam tanpa kebergantungan, yang sesuai untuk senario asas, tetapi memerlukan pemprosesan manual jahitan data dan pemantauan ralat, seperti menggunakan https.get () untuk mendapatkan data atau menghantar permintaan pos melalui .write (); 2.AXIOS adalah perpustakaan pihak ketiga berdasarkan janji. Ia mempunyai sintaks ringkas dan fungsi yang kuat, menyokong async/menunggu, penukaran JSON automatik, pemintas, dan lain -lain. Adalah disyorkan untuk memudahkan operasi permintaan tak segerak; 3.Node-Fetch menyediakan gaya yang serupa dengan pengambilan penyemak imbas, berdasarkan janji dan sintaks mudah

Jenis data JavaScript dibahagikan kepada jenis primitif dan jenis rujukan. Jenis primitif termasuk rentetan, nombor, boolean, null, undefined, dan simbol. Nilai -nilai tidak berubah dan salinan disalin apabila memberikan nilai, jadi mereka tidak mempengaruhi satu sama lain; Jenis rujukan seperti objek, tatasusunan dan fungsi menyimpan alamat memori, dan pembolehubah menunjuk objek yang sama akan mempengaruhi satu sama lain. Typeof dan Instanceof boleh digunakan untuk menentukan jenis, tetapi memberi perhatian kepada isu -isu sejarah TypeOfNull. Memahami kedua -dua jenis perbezaan ini dapat membantu menulis kod yang lebih stabil dan boleh dipercayai.

Rangka kerja JavaScript mana yang terbaik? Jawapannya ialah memilih yang paling sesuai mengikut keperluan anda. 1. REACT adalah fleksibel dan bebas, sesuai untuk projek sederhana dan besar yang memerlukan penyesuaian tinggi dan keupayaan seni bina pasukan; 2. Angular menyediakan penyelesaian lengkap, sesuai untuk aplikasi peringkat perusahaan dan penyelenggaraan jangka panjang; 3. Vue mudah digunakan, sesuai untuk projek kecil dan sederhana atau perkembangan pesat. Di samping itu, sama ada terdapat timbunan teknologi sedia ada, saiz pasukan, kitaran hayat projek dan sama ada SSR diperlukan juga faktor penting dalam memilih rangka kerja. Singkatnya, tidak ada kerangka terbaik, pilihan terbaik adalah yang sesuai dengan keperluan anda.

Helo, pemaju JavaScript! Selamat datang ke berita JavaScript minggu ini! Minggu ini kami akan memberi tumpuan kepada: Pertikaian tanda dagangan Oracle dengan Deno, objek masa JavaScript baru disokong oleh pelayar, kemas kini Google Chrome, dan beberapa alat pemaju yang kuat. Mari mulakan! Pertikaian tanda dagangan Oracle dengan percubaan Deno Oracle untuk mendaftarkan tanda dagangan "JavaScript" telah menyebabkan kontroversi. Ryan Dahl, pencipta Node.js dan Deno, telah memfailkan petisyen untuk membatalkan tanda dagangan, dan dia percaya bahawa JavaScript adalah standard terbuka dan tidak boleh digunakan oleh Oracle

IIFE (Segera Dilanjutkan FunctionExpression) adalah ekspresi fungsi yang dilaksanakan dengan segera selepas definisi, digunakan untuk mengasingkan pembolehubah dan mengelakkan mencemarkan skop global. Ia dipanggil dengan membungkus fungsi dalam kurungan untuk menjadikannya ungkapan dan sepasang kurungan segera diikuti olehnya, seperti (fungsi () {/code/}) ();. Penggunaan terasnya termasuk: 1. Elakkan konflik berubah -ubah dan mencegah pertindihan penamaan antara skrip berganda; 2. Buat skop peribadi untuk menjadikan pembolehubah dalaman tidak kelihatan; 3. Kod modular untuk memudahkan permulaan tanpa mendedahkan terlalu banyak pembolehubah. Kaedah penulisan biasa termasuk versi yang diluluskan dengan parameter dan versi fungsi anak panah ES6, tetapi perhatikan bahawa ungkapan dan ikatan mesti digunakan.

Janji adalah mekanisme teras untuk mengendalikan operasi tak segerak dalam JavaScript. Memahami panggilan rantaian, pengendalian ralat dan gabungan adalah kunci untuk menguasai aplikasi mereka. 1. Panggilan rantai mengembalikan janji baru melalui .then () untuk merealisasikan persamaan proses tak segerak. Setiap .then () menerima hasil sebelumnya dan boleh mengembalikan nilai atau janji; 2. Pengendalian ralat harus menggunakan .catch () untuk menangkap pengecualian untuk mengelakkan kegagalan senyap, dan boleh mengembalikan nilai lalai dalam tangkapan untuk meneruskan proses; 3. Gabungan seperti janji.all () (berjaya hanya berjaya selepas semua kejayaan), janji.race () (penyempurnaan pertama dikembalikan) dan janji.allsettled () (menunggu semua penyelesaian)

CACHEAPI adalah alat yang disediakan oleh penyemak imbas kepada permintaan rangkaian cache, yang sering digunakan bersempena dengan ServiceWorker untuk meningkatkan prestasi laman web dan pengalaman luar talian. 1. Ia membolehkan pemaju menyimpan sumber secara manual seperti skrip, helaian gaya, gambar, dan lain -lain; 2. Ia boleh memadankan tindak balas cache mengikut permintaan; 3. Ia menyokong memotong cache tertentu atau membersihkan seluruh cache; 4. Ia boleh melaksanakan keutamaan cache atau strategi keutamaan rangkaian melalui perkhidmatan pekerja yang mendengar acara mengambil; 5. Ia sering digunakan untuk sokongan luar talian, mempercepat kelajuan akses berulang, sumber utama dan kandungan kemas kini latar belakang; 6. Apabila menggunakannya, anda perlu memberi perhatian kepada kawalan versi cache, sekatan penyimpanan dan perbezaan dari mekanisme caching HTTP.
