Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将ajax结果作为变量与async/await一起使用_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 将ajax结果作为变量与async/await一起使用

Javascript 将ajax结果作为变量与async/await一起使用,javascript,jquery,ajax,Javascript,Jquery,Ajax,我想在openFastLink函数中使用getAccessToken()的结果,但是函数没有等待检索令牌,因为JS是异步的。我不能使用回调,因为openFastlink函数是一个弹出窗口,必须直接绑定到按钮,以防止浏览器阻止它。访问令牌也必须在与openFastlink相同的单击事件中检索,这是一项要求,我希望避免使ajax调用与“async:false”同步 我现在尝试使用下面的Async/await,但是openFastLink函数仍然没有等待getAccessToken()导致错误。我是J

我想在openFastLink函数中使用getAccessToken()的结果,但是函数没有等待检索令牌,因为JS是异步的。我不能使用回调,因为openFastlink函数是一个弹出窗口,必须直接绑定到按钮,以防止浏览器阻止它。访问令牌也必须在与openFastlink相同的单击事件中检索,这是一项要求,我希望避免使ajax调用与“async:false”同步

我现在尝试使用下面的Async/await,但是openFastLink函数仍然没有等待getAccessToken()导致错误。我是Js的新手,因此,如果您能在满足需求的情况下帮助我解决这个问题,我将不胜感激


async function getAccessToken(args) {
    const result = await $.ajax({
        url: "/request/access-token",
        type: 'POST'
    });

    return result['access_token'];
}


$('#openFastlink').click(function() {
    window.fastlink.open({
      fastLinkURL: 'https://fl4.prod.yodlee.com.au/...',
      accessToken: 'Bearer ' + await getAccessToken(),
      forceIframe: true,
      iframeScrolling: true,
      params: {
        configName : 'Aggregation'
      },
      onSuccess: function (data) {
        alert('account linked!');
      }
    },
    'container-fastlink');
});

“…但是openFastLink函数仍然没有等待getAccessToken()…”该代码根本不会运行。解析器将带一个语法错误,因为您不能在非
async
函数中使用
await