mirror of
https://github.com/marko-js/marko.git
synced 2025-12-08 19:26:05 +00:00
Fixes #342 - emit await:finish with client reorder and sync completion
This commit is contained in:
parent
f2116dc44d
commit
e3aaf5991b
@ -231,5 +231,8 @@ module.exports = function render(input, out) {
|
||||
name: name
|
||||
});
|
||||
}
|
||||
} else if (clientReorder) {
|
||||
// If the async fragment has finished synchronously then we still need to emit the `await:finish` event
|
||||
out.emit('await:finish', awaitInfo);
|
||||
}
|
||||
};
|
||||
|
||||
@ -0,0 +1,26 @@
|
||||
[
|
||||
{
|
||||
"event": "await:begin",
|
||||
"arg": {
|
||||
"name": "data.userDataProvider",
|
||||
"clientReorder": true,
|
||||
"finished": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"event": "await:beforeRender",
|
||||
"arg": {
|
||||
"name": "data.userDataProvider",
|
||||
"clientReorder": true,
|
||||
"finished": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"event": "await:finish",
|
||||
"arg": {
|
||||
"name": "data.userDataProvider",
|
||||
"clientReorder": true,
|
||||
"finished": true
|
||||
}
|
||||
}
|
||||
]
|
||||
@ -0,0 +1 @@
|
||||
<div>Hello Frank!</div>
|
||||
@ -0,0 +1,5 @@
|
||||
<await(user from data.userDataProvider) client-reorder>
|
||||
<div>Hello ${user.name}!</div>
|
||||
</await>
|
||||
|
||||
<await-reorderer/>
|
||||
@ -0,0 +1,26 @@
|
||||
var extend = require('raptor-util/extend');
|
||||
var expect = require('chai').expect;
|
||||
|
||||
exports.templateData = {
|
||||
userDataProvider: function(callback) {
|
||||
callback(null, {name: 'Frank'});
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
exports.checkEvents = function(events, helpers) {
|
||||
events = events.map(function(eventInfo) {
|
||||
var arg = extend({}, eventInfo.arg);
|
||||
expect(arg.out != null).to.equal(true);
|
||||
|
||||
delete arg.out; // Not serializable
|
||||
delete arg.asyncValue; // Not serializable
|
||||
|
||||
return {
|
||||
event: eventInfo.event,
|
||||
arg: arg
|
||||
};
|
||||
});
|
||||
|
||||
helpers.compare(events, '-events.json');
|
||||
};
|
||||
Loading…
x
Reference in New Issue
Block a user