Откуда берется "ответ" в примере кода JavaScript для Google Drive API?

Я изучил эту страницу ( https://developers.google.com/drive/v3/web/quickstart/js) и нашел следующий код:

/**
* Print files.
*/    
function listFiles() {
        gapi.client.drive.files.list({
            'pageSize': 10,
            'fields': "nextPageToken, files(id, name)"
        }).then(function(response) {
            appendPre('Files:');
            var returnedFiles = response.result.files;
            alert(returnedFiles);
            if (returnedFiles && returnedFiles.length > 0) {
                for (var i = 0; i < returnedFiles.length; i++) {
                    var file = returnedFiles[i];
                    alert(file);
                    appendPre(file.name + ' (' + file.id + ')');
                }
            } else {
                appendPre('No files found.');
            }
        });
    }

Интересно, откуда берется "ответ" в коде функции следующим образом?

}).then(function(response) {

А если "ответ" в следующей строке одинаков?

Line1:  }).then(function(response) {

Line2:  var returnedFiles = response.result.files;

1 ответ

Решение

gapi.client.drive.files.list(...) возвращает обещание. См. https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Promise если вы новичок в Обещаниях.

Обещание разрешается (then(f) немного) с response объект, который в свою очередь содержит result объект, который определен на https://developers.google.com/drive/v3/reference/files/list

Другие вопросы по тегам