async
danawait
memungkinkan Anda menulis kode berbasis promise seolah-olah sinkron, tetapi tanpa memblokir thread utama.- Peristiwa pointer memberikan cara terpadu untuk menangani semua peristiwa input.
- Situs yang ditambahkan ke layar utama akan otomatis diberi izin penyimpanan persisten.
Dan masih banyak lagi.
Saya Pete LePage. Berikut adalah yang baru untuk developer di Chrome 55.
Peristiwa Pointer
Menunjuk sesuatu di web dulunya mudah. Anda memiliki mouse, Anda memindahkannya, terkadang Anda menekan tombol, dan selesai. Namun, hal ini tidak berfungsi dengan baik di sini.
Peristiwa sentuh bagus, tetapi untuk mendukung sentuh dan mouse, Anda harus mendukung dua model peristiwa:
elem.addEventListener('mousemove', mouseMoveEvent);
elem.addEventListener('touchmove', touchMoveEvent);
Chrome kini mengaktifkan penanganan input terpadu dengan mengirimkan PointerEvents:
elem.addEventListener('pointermove', pointerMoveEvent);
Peristiwa pointer menyatukan model input pointer untuk browser, yang menggabungkan sentuhan, pena, dan mouse ke dalam satu kumpulan peristiwa. Fitur ini didukung di IE11, Edge, Chrome, Opera, dan sebagian didukung di Firefox.
Lihat Menunjukkan Jalan ke Depan untuk mengetahui detail selengkapnya.
async
dan await
JavaScript asinkron mungkin sulit dipahami. Ambil fungsi ini dengan semua callback "indah"-nya:
function logFetch(url) {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function (e) {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
console.log(xhr.responseText);
} else {
console.error('xhr failed', xhr.statusText);
}
}
};
xhr.onerror = function (e) {
console.error(xhr.statusText);
};
xhr.open('GET', url);
xhr.send();
}
Menulis ulang dengan promises
membantu menghindari masalah penyusunan bertingkat:
function logFetch(url) {
return fetch(url)
.then(response => response.text())
.then(text => {
console.log(text);
}).catch(err => {
console.error('fetch failed', err);
});
}
Namun, kode berbasis Promise masih dapat sulit dibaca jika ada rantai dependensi asinkron yang panjang.
Chrome kini mendukung kata kunci JavaScript async
dan await
, yang memungkinkan Anda
menulis JavaScript berbasis Promise yang dapat disusun dan
dibaca seperti kode sinkron.
Sebagai gantinya, fungsi asinkron kita dapat disederhanakan menjadi ini:
async function logFetch(url) {
try {
const response = await fetch(url);
console.log(await response.text());
}
catch (err) {
console.log('fetch failed', err);
}
}
Jake memiliki postingan yang bagus: Fungsi Asinkron - membuat promise yang mudah digunakan dengan semua detailnya.
Penyimpanan Persistent
Uji coba origin penyimpanan persisten kini telah berakhir. Anda kini dapat menandai penyimpanan web sebagai persisten, sehingga mencegah Chrome otomatis menghapus penyimpanan untuk situs Anda.
if (navigator.storage && navigator.storage.persist) {
navigator.storage.persist().then(granted => {
if (granted)
alert("Storage will not be cleared except by explicit user action");
else
alert("Storage may be cleared by the UA under storage pressure.");
});
}
Selain itu, situs yang memiliki engagement tinggi, telah ditambahkan ke layar utama, atau telah mengaktifkan notifikasi push akan otomatis diberi izin persistensi.
Lihat postingan Penyimpanan Persisten Chris Wilson untuk mengetahui detail selengkapnya dan cara meminta penyimpanan persisten untuk situs Anda.
Tanda Hubung Otomatis CSS
Pemisah kata otomatis CSS, salah satu fitur tata letak Chrome yang paling sering diminta, kini didukung di Android dan Mac.
Web Share API
Terakhir, kini lebih mudah untuk memanggil kemampuan berbagi native dengan Web Share API baru, yang tersedia sebagai uji coba origin. Paul (Mr. Web Intents) Kinlan memiliki semua detailnya dalam postingan Navigator Share-nya.
Penutup
Ini hanyalah beberapa perubahan di Chrome 55 untuk developer.
Jika Anda ingin terus mendapatkan info terbaru tentang Chrome dan mengetahui apa yang akan datang, pastikan untuk berlangganan, dan pastikan untuk menonton video dari Chrome Dev Summit untuk mengetahui lebih lanjut beberapa hal keren yang sedang dikerjakan tim Chrome.
Saya Pete LePage, dan segera setelah Chrome 56 dirilis, saya akan langsung memberi tahu Anda tentang yang baru di Chrome.