Отправить асинхронное действие

Вот пример, использующий sf, чтобы сделать этот график, в котором подчеркивается, как способность пакета работать с dplyr и summarise в частности может сделать эту операцию чрезвычайно выразительной и кратким. I filter вывести отсутствующие идентификаторы, group_by идентификатор, summarise (который делает объединение по умолчанию) и легко построить график с помощью geom_sf.

library(tidyverse)
library(sf)
# Substitute wherever you are reading the file from
light_shape <- read_sf(here::here("data", "light_shape.shp"))
light_shape %>%
  filter(!is.na(segment_ID)) %>% 
  group_by(segment_ID) %>%
  summarise() %>%
  ggplot() +
  geom_sf(aes(fill = factor(segment_ID)))

-1
задан thanksd 18 January 2019 в 19:58
поделиться

1 ответ

@ Samurai8 прав. Спасибо за помощь. Мой getAdminOrRespondentAuth не возвращал обещание правильно. После исправления ошибки функции все вернулось к работе. Эта функция генерирует ошибку:

async function getAdminOrRespondentAuth () {
  let mgr = new Mgr()
  var adminToken = await mgr.getToken()
  if (adminToken !== false) {
    return 'Bearer '.concat(adminToken)
  } else {
    let usrToken = localStorage.getItem('user-token')
    return 'Bearer '.concat(usrToken)
  }
}

Вот функция, которая работает:

async function getAdminOrRespondentAuth () {
  var adminToken = ''
  return new Promise(async (resolve, reject) => {
    let mgr = new Mgr()
    try {
      adminToken = await mgr.getToken()
    } catch (error) {
      adminToken = error
    }
    if (adminToken !== false) {
      resolve('Bearer '.concat(adminToken))
    } else {
      let usrToken = localStorage.getItem('user-token')
      if (usrToken !== null) {
        resolve('Bearer '.concat(usrToken))
      } else {
        resolve('')
      }
    }
  })
}
0
ответ дан Alberto 18 January 2019 в 19:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: