Javascript 保留SailsJs服务属性值

Javascript 保留SailsJs服务属性值,javascript,sails.js,Javascript,Sails.js,我有如下服务: SomeService.js 当我像下面这样调用此服务时,它不会保留property变量的值 SomeService.foo(); console.log(SomeService.property) //returns null 如何使用Sails服务保留属性值?我如何像上课一样使用它?也许这更像是一个JavaScript问题,而不是Sails问题。我知道对象与我使用它的方式不同,但是有没有一种方法可以让我将同一对象用于服务 更新:我已经更新了foo,我认为本例中的此指的是销毁

我有如下服务:

SomeService.js

当我像下面这样调用此服务时,它不会保留
property
变量的值

SomeService.foo();
console.log(SomeService.property) //returns null
如何使用Sails服务保留
属性
值?我如何像上课一样使用它?也许这更像是一个JavaScript问题,而不是Sails问题。我知道对象与我使用它的方式不同,但是有没有一种方法可以让我将同一对象用于服务

更新:我已经更新了
foo
,我认为本例中的
指的是
销毁
构造,而不是服务

很明显,由于函数
foo
正在调用一个异步方法

因此,在打电话时:

SomeService.foo();//this is asynchronous so does not block next executions.
console.log(SomeService.property)//this is not blocked by above call.
如果您想测试到底发生了什么,请运行以下命令。 这是:

SomeService.foo();
console.log(SomeService.property);
for(var i=2;i<10;i++)
    console.log("I am called at number:",i);
SomeService.foo();
console.log(SomeService.property);
对于(var i=2;i
很明显,由于函数
foo
正在调用一个异步方法

因此,在打电话时:

SomeService.foo();//this is asynchronous so does not block next executions.
console.log(SomeService.property)//this is not blocked by above call.
如果您想测试到底发生了什么,请运行以下命令。 这是:

SomeService.foo();
console.log(SomeService.property);
for(var i=2;i<10;i++)
    console.log("I am called at number:",i);
SomeService.foo();
console.log(SomeService.property);

对于(var i=2;i您使用的是哪个版本的Sails?我在代码中检查了它,它在0.12.1中似乎工作得很好。@Bonanza它的0.11.5。您可以尝试更新到最新版本吗?这样您需要用服务名称替换“this”。好的。似乎可以。谢谢。但有一个问题。这会使它像静态属性一样工作吗?您使用的是哪个版本的Sailssing?我在我的代码中检查了这个问题,它在0.12.1中运行得很好。@Bonanza是0.11.5。你能尝试更新到最新版本吗?这样你需要用服务名替换“this”。好的。这似乎有效。谢谢。但有一个问题。这会使它像静态属性一样工作吗?
SomeService.foo();
console.log(SomeService.property);
for(var i=2;i<10;i++)
    console.log("I am called at number:",i);