Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Твой код:
- boards() {
- return fetch(`${this.base_url}/boards.json`)
- .then((response) => response.json())
- .then((data) => {
- const result = [];
- for (const board of data) {
- result.push(
- new BoardDescription(
- board.board,
- board.title,
- board.subtitle,
- board.image_limit
- )
- )
- }
- return result;
- })
- }
- //С await/async:
- async boards(){
- //читаемо, просто, без вложенностей
- let response = await fetch(`${this.base_url}/boards.json`)
- let data = await response.json()
- for (const board of data) {
- result.push(
- new BoardDescription(
- board.board,
- board.title,
- board.subtitle,
- board.image_limit
- )
- )
- }
- return result;
- }
- //Тоже но действительно по нормальному написанное:
- //вынесем это в отдельную функцию
- async function api(path){
- let response = await fetch(baseUrl + '/' + path)
- //не забываем про проверку ошибок
- if(!response.ok) throw new Error('network error: ' + response.status)
- return response.json()
- }
- async function boards(){
- //всего две строчки вместо той громадины что ты понаписал:
- let boards = await api('boards.json')
- return boards.map(
- ({board,title,subtitle,imageLimit}) => new BoardDescription(board,title,subtitle,imageLimit)
- )
- }
Advertisement
Add Comment
Please, Sign In to add comment