0
我正在用Angular 4开发一个Web应用程序(使用TypeScript/JavaScript语言)。 不幸的是,我不太了解JavaScript及其回调机制。 我有一个问题。如果我调用了一个函数作为参数的方法,这这样的:JavaScript:在回调之外分配一个值?
this.cognitoIdentityServiceProvider.listUsers(params,function(err,data) {
if (err) console.log(err, err.stack);
else {
console.log(data);
}
我可以使用data
参数只有function(err,data)
,而不是其他地方的体内。
如果我初始化内部function(err,data)
外部对象,似乎对象只需要在函数中的权值,但 不是外部,如本例:
var myData = null; // external variable declaration
this.cognitoIdentityServiceProvider.listUsers(params,function(err,data) {
if (err) console.log(err, err.stack);
else {
myData = data;
console.log(myData); // prints the date value (correctly)
}
console.log(myData); // print 'null' but I would like the data of 'data' object
我会很舒服在function(err,data)
之外使用此数据将它们作为参数传递。不幸的是,我不知道该怎么做。
谢谢,你能给我一个代码的例子吗?我不知道同步和异步JavaScript调用机制 – claudioz
检查答案在https://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-call – marvel308
谢谢,但这个例子太长了,我不能使它与我的情况相匹配,因为我的方法listUser接受两个输入参数,而不仅仅是函数! 如果你给我写了我如何定制我的代码,你会帮我一个忙! – claudioz