当request.then(function(response){}运行时会发生什么?

时间:2017-06-30 04:45:43

标签: javascript google-sheets google-api google-spreadsheet-api google-sheets-api

问题

此:

var request = gapi.client.sheets.spreadsheets.values.update(params, valueRangeBody);
request.then(function(response) {
    ...
}

在从updateSigninStatus(isSignedIn)调用它所在的函数时起作用,但在从锚标记调用时则不起作用。

当它有效时,console.log(response.result);会显示一个对象,但我无法告诉console.log(response.result);什么时候它不起作用,因为request.then(function(response)被调用后没有任何反应

DETAIL

这有效:

    function updateSigninStatus(isSignedIn) {
       if (isSignedIn) {
          nameSignIn(); 
       }
   }

这不起作用:

<a href="javascript:nameSignIn();">Sign In</a>

这是nameSignIn():

    function nameSignIn() {
  var params = {
    // The ID of the spreadsheet to update.
    spreadsheetId: '[ACTUAL ID REMOVED]',

    // The A1 notation of the values to update.
    range: 'I5',

    // How the input data should be interpreted.
    valueInputOption: 'RAW',
  };

  var valueRangeBody = {
    // All existing properties will be replaced.

    "range": "I5",  //Set this to cell want to add 'x' to.
      "majorDimension": "ROWS",
      "values": [
        [ 'x' ]
      ],          

  };

  var request = gapi.client.sheets.spreadsheets.values.update(params, valueRangeBody);
  request.then(function(response) {
    console.log(response.result);
  }, function(reason) {
    console.error('error: ' + reason.result.error.message);
  });
}        

如何排查request.then(function(response)运行后出现任何问题的原因?

在Win 10上的Chrome和Firefox中发生这种情况。开发工具控制台中没有javascript错误。

查看问题here

的详细说明

0 个答案:

没有答案