const { asyncResult, result } = require('@expo/results');
const fetch = require('node-fetch');
(async () => {
const results = await fetchWebPages([
'https://expo.dev',
'http://example.com',
]);
// Get all the results even if some fetches failed
for (const result of results) {
if (result.ok) {
// TypeScript-friendly: "result.value" is guaranteed to be defined when the
// result is OK so we don't need non-null assertions ("!")
console.log(result.value);
} else {
console.error(result.reason);
}
}
})();
function fetchWebPages(urls) {
return Promise.all(urls.map(fetchWebPage));
}
function fetchWebPage(url) {
return asyncResult(fetch(url).then(response => response.text()));
}