Fix passing Promise with remote

Somehow using value.then.bind(value) would result in infinite loop,
could be bug of Chromium.
This commit is contained in:
Cheng Zhao 2016-03-09 20:03:42 +09:00
parent dd4d3db47b
commit 6de9c4332f
4 changed files with 4 additions and 3 deletions

View file

@ -106,7 +106,7 @@ var valueToMeta = function(sender, value, optimizeSimpleObject) {
} else if (meta.type === 'buffer') {
meta.value = Array.prototype.slice.call(value, 0);
} else if (meta.type === 'promise') {
meta.then = valueToMeta(sender, value.then.bind(value));
meta.then = valueToMeta(sender, function(v) { value.then(v); });
} else if (meta.type === 'error') {
meta.members = plainObjectToMeta(value);