.
This commit is contained in:
@@ -1,22 +1,102 @@
|
|||||||
import setText from './results.mjs';
|
import setText, { appendText } from "./results.mjs";
|
||||||
|
|
||||||
export function timeout(){
|
export function timeout(){
|
||||||
|
const wait = new Promise(resolve => {
|
||||||
|
setTimeout(() => {
|
||||||
|
resolve("Timeout")
|
||||||
|
}, 1500);
|
||||||
|
})
|
||||||
|
wait
|
||||||
|
.then(text => setText(text))
|
||||||
}
|
}
|
||||||
|
|
||||||
export function interval(){
|
export function interval(){
|
||||||
|
let counter = 0
|
||||||
|
const wait = new Promise(resolve => {
|
||||||
|
setInterval(() => {
|
||||||
|
console.log("interval")
|
||||||
|
resolve(`Timeout ${++counter}`)
|
||||||
|
}, 1500);
|
||||||
|
})
|
||||||
|
|
||||||
|
wait
|
||||||
|
.then(text => setText(text))
|
||||||
|
.finally(() => appendText(` -- Done ${counter}`))
|
||||||
}
|
}
|
||||||
|
|
||||||
export function clearIntervalChain(){
|
export function clearIntervalChain(){
|
||||||
|
let counter = 0
|
||||||
|
let interval
|
||||||
|
const wait = new Promise(resolve => {
|
||||||
|
interval = setInterval(() => {
|
||||||
|
console.log("interval")
|
||||||
|
resolve(`Timeout ${++counter}`)
|
||||||
|
}, 1500);
|
||||||
|
})
|
||||||
|
|
||||||
|
wait
|
||||||
|
.then(text => setText(text))
|
||||||
|
.finally(() => clearInterval(interval))
|
||||||
}
|
}
|
||||||
|
|
||||||
export function xhr(){
|
export function xhr(){
|
||||||
|
let request = new Promise((resolve, reject) => {
|
||||||
|
let xhr = new XMLHttpRequest()
|
||||||
|
xhr.open("GET", "http://localhost:3000/users/7")
|
||||||
|
xhr.onload = () => {
|
||||||
|
if (xhr.status === 200) {
|
||||||
|
resolve(xhr.responseText)
|
||||||
|
} else {
|
||||||
|
reject(xhr.statusText)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
xhr.send()
|
||||||
|
})
|
||||||
|
|
||||||
|
request
|
||||||
|
.then(result => setText(result))
|
||||||
|
.catch(reason => setText(reason))
|
||||||
}
|
}
|
||||||
|
|
||||||
export function allPromises(){
|
export function allPromises(){
|
||||||
|
let categories = axios.get("http://localhost:3000/itemCategories")
|
||||||
|
let statuses = axios.get("http://localhost:3000/orderStatuses")
|
||||||
|
let userTypes = axios.get("http://localhost:3000/userTypes")
|
||||||
|
let addressTypes = axios.get("http://localhost:3000/addressTypes")
|
||||||
|
|
||||||
|
Promise.all([categories, statuses, userTypes, addressTypes])
|
||||||
|
.then(([cat, stat, type, address]) => {
|
||||||
|
setText("");
|
||||||
|
|
||||||
|
appendText(JSON.stringify(cat.data))
|
||||||
|
appendText(JSON.stringify(stat.data))
|
||||||
|
appendText(JSON.stringify(type.data))
|
||||||
|
appendTest(JSON.stringify(address.data))
|
||||||
|
})
|
||||||
|
.catch(error => setText(error))
|
||||||
}
|
}
|
||||||
|
|
||||||
export function allSettled(){
|
export function allSettled(){
|
||||||
|
let categories = axios.get("http://localhost:3000/itemCategories")
|
||||||
|
let statuses = axios.get("http://localhost:3000/orderStatuses")
|
||||||
|
let userTypes = axios.get("http://localhost:3000/userTypes")
|
||||||
|
let addressTypes = axios.get("http://localhost:3000/addressTypes")
|
||||||
|
|
||||||
|
Promise.allSettled([categories, statuses, userTypes, addressTypes])
|
||||||
|
.then((values) => {
|
||||||
|
let results = values.map(v => {
|
||||||
|
if (v.status === 'fulfilled') {
|
||||||
|
return `Fulfilled: ${JSON.stringify(v.value.data[0])} `
|
||||||
|
}
|
||||||
|
|
||||||
|
return `Rejected: ${v.reason.message} `
|
||||||
|
})
|
||||||
|
|
||||||
|
setText(results)
|
||||||
|
})
|
||||||
|
.catch(error => setText(error))
|
||||||
}
|
}
|
||||||
|
|
||||||
export function race(){
|
export function race(){
|
||||||
|
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user