--
You received this message because you are subscribed to the Google Groups "streamline.js" group.
To unsubscribe from this group and stop receiving emails from it, send an email to streamlinejs...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
"use strict";
require('babel-polyfill');
var fieldName = Promise.resolve('title');
var person = Promise.resolve({title: Promise.resolve('SDE')});
async function foo() {
console.log(await (await person)[await fieldName]);
}
foo();
var AsyncTool = require('async-compiler-runtime');
var fieldName = Promise.resolve('title');
var person = Promise.resolve({title: Promise.resolve('SDE')});
/** @async **/ function foo() {
console.log(person[fieldName]);
}
foo();
"use strict";
var delay = (_, value) => { console.log("delay " + value); setTimeout(_, 1000); return value; }
var fieldName = (_) => delay(_, "title");
var person = (_) => delay(_, { title: delay(_, "SDE") });
console.log(person(_)[fieldName(_)]);
$ _node --runtime fibers test._js
delay SDE
delay [object Object]
delay title
SDE
$ _node --runtime generators test._js
delay SDE
delay [object Object]
delay title
SDE
$ _node --runtime callbacks test._js
delay SDE
delay [object Object]
delay title
undefined
The fibers and generators mode don't use regenerator. They work fine.
The callbacks mode uses regenerator. It is buggy.
The original streamline (1.0) used a different algorithm to transpile in callbacks mode. I switched to regenerator when I upgraded to babel but it looks like it introduced a bug. I did not notice it because I use the fibers mode on node.js and generators in the browser.
Bruno
Interesting.Here is the streamline version:
``` javascript
"use strict";var delay = (_, value) => { console.log("delay " + value); setTimeout(_, 1000); return value; }var fieldName = (_) => delay(_, "title");var person = (_) => delay(_, { title: delay(_, "SDE") });console.log(person(_)[fieldName(_)]);```I get the following results:
``` sh
To unsubscribe from this group and stop receiving emails from it, send an email to streamlinejs+unsubscribe@googlegroups.com.