在JavaScript中同步获取请求数据

时间:2018-06-25 14:57:06

标签: javascript api asynchronous request synchronous

所以我有一个有趣的问题。 以下是可以快速概括的方式: (1)通过基于python的API端点-属性从数据库获取属性值或列表 (2)使用请求结果设置对象-customObject [“ customProperty”]。

在1和2之间,我需要等待请求返回值。 我该如何实现?

function mainWrapperFunction() {
    var property = apiRequestFunction();
    // I need to wait for the result to return from the API request before going on
    customObject["customProperty"] = property;
}

2 个答案:

答案 0 :(得分:1)

您需要使用Promise

async function mainWrapperFunction() {
    var property = await apiRequestFunction();
    // I need to wait for the result to return from the API request before going on
    customObject["customProperty'] = property;
}

需要从apiRequestFunction();函数返回一个承诺,如下所示-

function apiRequestFunction() {
  return new Promise(resolve => {
      resolve('Your value here');
  });
}

答案 1 :(得分:0)

尝试:

async function mainWrapperFunction() {
    var property = await apiRequestFunction();
    // I need to wait for the result to return from the API request before going on
    customObject['customProperty'] = property;
}

有关asyc函数https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Instructions/async_function

的更多详细信息