如何保存对变量的异步调用的响应

How to save the response from an asynchronous call to variable

本文关键字:变量 异步 调用 响应 何保存 保存      更新时间:2023-09-26

我有一个API调用,我希望编写对friends变量的响应。

getFriends = function() {
  return VK.Api.call('friends.get', {}, function(response) {
    if (response.response)
      response.response;
  });
};
var friends = getFriends();
console.log(friends)  // undefined;

在我之前的问题中,一个人告诉我,我可以用回调函数修复它并关闭我的问题。我实现了一个回调,但是还是得不到响应。

var getFriends = function(callbackFn) {
  return VK.Api.call('friends.get', {}, function(response) {
    if (response.response) {
      callbackFn(response.response);
    }
  });
};
var friends = getFriends(function(list) { return list; });

我怎么能写response.response变量的很多下一个操作?

其实要简单得多

var friends = null;
VK.Api.call('friends.get', {}, function(response) {
    if (response.response) {
      friends = response.response;
      console.log(friends);
    }
}