// Only using native browser features (no jQuery). // Uses `fetch`, `DOMParser` and `querySelectorAll`. const getTitle = (url) => { return fetch(`${url}`) .then((response) => response.text()) .then((html) => { const doc = new DOMParser().parseFromString(html, "text/html"); const title = doc.querySelectorAll('title')[0]; return title.innerText; }); }; var urls = [ 'https://www.h404bi.com/blog/2019/07/better-lazyload-implementation-with-responsive-images', 'https://baidu.com' ] // This one keeps the order the same as the URL list. Promise.all( urls.map((url) => getTitle(url)) ).then((titles) => { console.log(titles); });