Do not emit asyncpurge on uninitialized values

Fix #9
This commit is contained in:
Mariusz Nowak
2013-10-08 15:20:23 +02:00
parent be4cfadbd4
commit ff85fb5228
2 changed files with 10 additions and 7 deletions

View File

@@ -2,11 +2,12 @@
'use strict';
var toArray = require('es5-ext/lib/Array/from')
, last = require('es5-ext/lib/Array/prototype/last')
, forEach = require('es5-ext/lib/Object/for-each')
, isCallable = require('es5-ext/lib/Object/is-callable')
, nextTick = require('next-tick')
var toArray = require('es5-ext/lib/Array/from')
, last = require('es5-ext/lib/Array/prototype/last')
, isArguments = require('es5-ext/lib/Function/is-arguments')
, forEach = require('es5-ext/lib/Object/for-each')
, isCallable = require('es5-ext/lib/Object/is-callable')
, nextTick = require('next-tick')
, isArray = Array.isArray, slice = Array.prototype.slice
, apply = Function.prototype.apply;
@@ -101,7 +102,7 @@ require('../_base').ext.async = function (ignore, conf) {
// If false, we don't have value yet, so we assume that intention is not
// to memoize this call. After value is obtained we don't cache it but
// gracefully pass to callback
if (!isArray(cache[id])) {
if (isArguments(cache[id])) {
conf.emit('purgeasync', id);
delete cache[id];
}