Tag: zonejs

你如何在NodeJs中使用ZoneJs?

我正在尝试使用Express在NodeJs API中设置一个区域。 我有以下要求… const Zone = require('zone.js/dist/zone-node.js'); 和下面的中间件function… function setupAuthZone(req, res, next) { return Zone.current.fork({ name: 'api', properties: { id: Math.random() } }).run(() => { next(); }) } 我通过使用 app.use(setupAuthZone); 当我在我的api中调用任何端点时,我会得到“无法读取属性”的“未定义”分支。 区域对象没有任何悬置,当然不是当前的属性。 任何人都可以指出我在NodeJs api中使用ZoneJs的一个非常简单的例子吗? 我想为每个请求创build一个区域,并在该区域中设置一些variables,并在我的一些控制器操作中将其拉出,例如当前通过身份validation的用户。 我想使用它像一个请求上下文。 更新 我已经改变了要求 require('zone.js/dist/zone-node.js'); 现在我有一个Zone.current。 虽然我不完全了解属性。 如果我在我的护照中间件中设置了Zone.current.currentUser,我可以将它拉回到其他地方,但我不能进入上面列出的“属性”属性。 我没有看到它在Zone.current。 另外,如果我将setupAuthZone函数更改为 function setupAuthZone(req, res, next) { return Zone.current.fork({ name: 'api' }) .run(() […]

在节点中使用zone.js钩子

我正在尝试在节点中使用angular / zone.js编写一个简单演示,但由于某种原因, beforeTask或afterTask都不会被调用。 这是我正在运行的代码: require('zone.js'); function foo () { Zone.current.fork({ name: 'foo_zone', beforeTask: function () { console.log('~~~ ZONE START ~~~'); }, afterTask: function () { console.log('~~~ ZONE END ~~~'); } }) .run(function () { console.log('in the zone'); console.log('Zone.current.name', Zone.current.name); // prints foo_zone setTimeout(() => { console.log('timeout is up'); }, 1000); }); } foo(); 现在在区域内的一切都打印好,包括区域名称,但没有被调用的钩子。 […]