psn_request.js
function()
			{
				var func = todo.shift();
				if (!func)
				{
					// all done!
					if (callback) callback(false);
					return;
				}

				if (token_fetch.indexOf(func.func) >= 0)
				{
					// if we're actually calling a token fetch function, skip!
					process.nextTick(step);
				}
				else
				{
					func.func(function(error) {
						if (error)
						{
							// token fetching error!
							if (callback) callback(func.name + " :: " + error);
							return;
						}

						// do next step
						process.nextTick(step);
					});
				}
			}
function()
			{
				var func = todo.shift();
				if (!func)
				{
					// all done!
					if (callback) callback(false);
					return;
				}

				if (token_fetch.indexOf(func.func) >= 0)
				{
					// if we're actually calling a token fetch function, skip!
					process.nextTick(step);
				}
				else
				{
					func.func(function(error) {
						if (error)
						{
							// token fetching error!
							if (callback) callback(func.name + " :: " + error);
							return;
						}

						// do next step
						process.nextTick(step);
					});
				}
			}
function ( ) { var func = todo . shift ( ) ; if ( ! func ) { // all done! if ( callback ) callback ( false ) ; return ; } if ( token_fetch . indexOf ( func . func ) >= 0 ) { // if we're actually calling a token fetch function, skip! process . nextTick ( step ) ; } else { func . func ( function ( error ) { if ( error ) { // token fetching error! if ( callback ) callback ( func . name + " :: " + error ) ; return ; } // do next step process . nextTick ( step ) ; } ) ; } }
work through our list of tokens we need to update
work through our list of tokens we need to update