Внутри функции _initListeners
адаптера загрузки вы обнаружите, что Обещание только разрешается следующим образом:
resolve( {
default: response.url
} );
Решение - измените Обещание, чтобы разрешить следующее:
resolve( response.urls );
Обратите внимание, что в этом примере объект ответа может иметь либо ключи url
, либо urls
.
В итоге я использовал следующее: Я игнорирую пустые ключи в ответах моего сервера.
if ( response.hasOwnProperty( 'url' ) ) {
resolve( {
default: response.url
} );
} else if ( response.hasOwnProperty( 'urls' ) ) {
resolve( response.urls );
}
В качестве примечания, если вы прочитали другой пост SO, на который я ссылался, я бы также рекомендовал удалить его (см. Раздел с комментариями) :
if ( !response /** || !response.uploaded */ ) {
return reject( response && response.error && response.error.message ? response.error.message : genericError );
}
Я не фанат использования произвольных флагов в ответ, если загрузка не удалась, я бы предпочел увидеть код состояния HTTP, указывающий это, я не вижу никакой причины, почему нам нужно вернуть 200 и { "uploaded" : false }