regenerator
Advanced tools
Comparing version 0.8.38 to 0.8.39
@@ -19,3 +19,3 @@ { | ||
], | ||
"version": "0.8.38", | ||
"version": "0.8.39", | ||
"homepage": "http://github.com/facebook/regenerator", | ||
@@ -22,0 +22,0 @@ "repository": { |
@@ -171,3 +171,7 @@ /** | ||
function enqueue(method, arg) { | ||
var enqueueResult = | ||
function callInvokeWithMethodAndArg() { | ||
return invoke(method, arg); | ||
} | ||
return previousPromise = | ||
// If enqueue has been called before, then we want to wait until | ||
@@ -185,13 +189,10 @@ // all previous Promises have been resolved before calling invoke, | ||
// important to get this right, even though it requires care. | ||
previousPromise ? previousPromise.then(function() { | ||
return invoke(method, arg); | ||
}) : new Promise(function(resolve) { | ||
resolve(invoke(method, arg)); | ||
previousPromise ? previousPromise.then( | ||
callInvokeWithMethodAndArg, | ||
// Avoid propagating failures to Promises returned by later | ||
// invocations of the iterator. | ||
callInvokeWithMethodAndArg | ||
) : new Promise(function (resolve) { | ||
resolve(callInvokeWithMethodAndArg()); | ||
}); | ||
// Avoid propagating enqueueResult failures to Promises returned by | ||
// later invocations of the iterator. | ||
previousPromise = enqueueResult["catch"](function(ignored){}); | ||
return enqueueResult; | ||
} | ||
@@ -198,0 +199,0 @@ |
94992
2481