index.js
function checkTable(count) {
      // Make sure we don't go into an infinite loop
      if (++count > 1000) return cb(new Error('Wait limit exceeded'))

      self.describeTable(function(err, data) {
        if (err) return cb(err)
        if (data.TableStatus !== 'ACTIVE' || (data.GlobalSecondaryIndexes &&
            !data.GlobalSecondaryIndexes.every(function (idx) {return idx.IndexStatus === 'ACTIVE'}))) {
          return setTimeout(checkTable, 1000, count)
        }

        // If the table is ACTIVE then return
        cb(null, data)
      })
    }
function checkTable(count) {
      // Make sure we don't go into an infinite loop
      if (++count > 1000) return cb(new Error('Wait limit exceeded'))

      self.describeTable(function(err, data) {
        if (err) return cb(err)
        if (data.TableStatus !== 'ACTIVE' || (data.GlobalSecondaryIndexes &&
            !data.GlobalSecondaryIndexes.every(function (idx) {return idx.IndexStatus === 'ACTIVE'}))) {
          return setTimeout(checkTable, 1000, count)
        }

        // If the table is ACTIVE then return
        cb(null, data)
      })
    }
function checkTable ( count ) { // Make sure we don't go into an infinite loop if ( ++ count > 1000 ) return cb ( new Error ( 'Wait limit exceeded' ) ) self . describeTable ( function ( err , data ) { if ( err ) return cb ( err ) if ( data . TableStatus !== 'ACTIVE' || ( data . GlobalSecondaryIndexes && ! data . GlobalSecondaryIndexes . every ( function ( idx ) { return idx . IndexStatus === 'ACTIVE' } ) ) ) { return setTimeout ( checkTable , 1000 , count ) } // If the table is ACTIVE then return cb ( null , data ) } ) }
check whether the update has in fact been applied
check whether the update has in fact been applied