diff --git a/packages/marko/src/core-tags/core/await/reorderer-renderer.js b/packages/marko/src/core-tags/core/await/reorderer-renderer.js index f72de39d37..82c00decb4 100644 --- a/packages/marko/src/core-tags/core/await/reorderer-renderer.js +++ b/packages/marko/src/core-tags/core/await/reorderer-renderer.js @@ -46,6 +46,7 @@ module.exports = function(input, out) { function handleAwait(awaitInfo) { awaitInfo.out + .on("___toString", out.emit.bind(out, "___toString")) .on("finish", function(result) { if (!global._afRuntime) { asyncOut.script(clientReorder.getCode()); diff --git a/packages/marko/test/components-pages/fixtures/split-async-keys/components/app-hello/index.marko b/packages/marko/test/components-pages/fixtures/split-async-keys/components/app-hello/index.marko index bb812614ca..c8d348c15d 100644 --- a/packages/marko/test/components-pages/fixtures/split-async-keys/components/app-hello/index.marko +++ b/packages/marko/test/components-pages/fixtures/split-async-keys/components/app-hello/index.marko @@ -1,7 +1,22 @@ -$ var promise = new Promise(resolve => setTimeout(resolve, 100)); - +
+ + + setTimeout(resolve, 100))) client-reorder> <@then> -
- +
+ + + setTimeout(resolve, 200)))> + <@then> +
+ + + + +
+ - \ No newline at end of file + + +
+ \ No newline at end of file diff --git a/packages/marko/test/components-pages/fixtures/split-async-keys/tests.js b/packages/marko/test/components-pages/fixtures/split-async-keys/tests.js index 01b97ab4c6..27e918c47d 100644 --- a/packages/marko/test/components-pages/fixtures/split-async-keys/tests.js +++ b/packages/marko/test/components-pages/fixtures/split-async-keys/tests.js @@ -1,7 +1,9 @@ var expect = require("chai").expect; it("should initialize components correctly across async boundaries", function(done) { - expect(window.component.getEl("div")).to.not.equal(undefined); - expect(window.component.getComponent("child")).to.not.equal(undefined); + for (let i = 0; i <= 4; i++) { + expect(window.component.getEl(`div${i}`)).to.not.equal(undefined); + expect(window.component.getComponent(`child${i}`)).to.not.equal(undefined); + } done(); });