Возможно, это работает?
.complete(function(response, status) {
if (response.status == "404")
alert("404 Error");
else{
//Do something
}
if(status == "error")
alert("Error");
else{
//Do something
}
});
Я не знаю, когда состояние переходит в режим «ошибка». Но я тестировал его с 404, и он ответил
Вы можете использовать Средство просмотра байт-кода Kotlin , чтобы узнать, для чего эти опции скомпилированы.
В Kotlin 1.0.2 скомпилированный байт-код показывает, что свойство
val
в object
или companion object
скомпилировано в поле private static final
внутри класса:
// access flags 0x1A
private final static I FILES_TO_DOWNLOAD = 100
и геттер, который вызывается при обращении к свойству:
// access flags 0x1019
public final static synthetic access$getFILES_TO_DOWNLOAD$cp()I
Из Java геттер может называться DefaultValues.INSTANCE.getFILES_TO_DOWNLOAD()
или DefaultValues.Companion.getFILES_TO_DOWNLOAD()
соответственно.
Свойство верхнего уровня, не относящегося к const
, компилируется в то же самое в (1) с той лишь разницей, что поле и геттер теперь помещены в класс FilenameKt
.
Но верхний уровень const val
компилируется в поле public static final
:
// access flags 0x19
public final static I DEFAULT_FILES_TO_DOWNLOAD = 100
Такое же общедоступное статическое конечное поле будет создано, когда const val
объявлено внутри объекта. Кроме того, вы можете получить тот же результирующий байт-код, если добавите аннотацию @JvmField
к свойствам, объявленным в (1) .
Таким образом, вы можете определить поле public static final
, используя const
или @JvmField
, либо в object
, либо на верхнем уровне.