. Это довольно просто:
Вот рабочая версия вашего кода:
(async function(){
var response = await superagent.get('...')
console.log(response)
})()
ожидание поддерживается во всех текущих браузерах и узлах 8 [/ д2]
Причина, по которой это происходит, связана с комбинацией двух вещей:
Чтобы исправить это, вы можете либо изменить свой код так, чтобы ваши конструкторы автоматически не добавляли элементы по умолчанию в свои списки, либо вы можете настроить Json.Net на замену списков при десериализации, а не на их повторное использование. Последнее можно сделать, изменив настройку ObjectCreationHandling
на Replace
, как показано ниже:
JsonSerializerSettings settings = new JsonSerializerSettings();
settings.ObjectCreationHandling = ObjectCreationHandling.Replace;
var database = JsonConvert.DeserializeObject<Database>(www.text, settings);
Лучшим способом было бы настроить JSON.Net для замены значений по умолчанию на
JsonSerializerSettings jsSettings = new JsonSerializerSettings
{
ObjectCreationHandling = ObjectCreationHandling.Replace,
};
JsonConvert.DeserializeObject<Army>(jsonString, jsSettings);