相关疑难解决方法(0)

如何从异步调用返回响应?

我有一个foo发出Ajax请求的函数.我怎样才能从中回复foo

我尝试从success回调中返回值,并将响应分配给函数内部的局部变量并返回该变量,但这些方法都没有实际返回响应.

function foo() {
    var result;

    $.ajax({
        url: '...',
        success: function(response) {
            result = response;
            // return response; // <- I tried that one as well
        }
    });

    return result;
}

var result = foo(); // It always ends up being `undefined`.
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery asynchronous xmlhttprequest

5208
推荐指数
38
解决办法
134万
查看次数

Node.js 和 Express:在响应 HTTP 请求之前等待异步操作

假设有一个 HTTP GET 回调定义为:

router.get('/latestpost', function(req, res, next) {

    var data = new FbData();
    get_latest_post (data);
    get_post_image (data);

    res.json(data);
};
Run Code Online (Sandbox Code Playgroud)

这两个get_函数都使用fb 包生成 HTTP 请求并在完成后执行回调。如何修改上述 GET 回调以便等待 Facebook 的响应,然后才向客户端发送响应?

当时,我通过get_串联执行函数并向它们传递res(响应)参数来解决问题,最后一个函数发送响应:

router.get('/latestpost', function(req, res, next) {
    var data = new FbData();
    get_latest_post (res, data);
};


function get_latest_post (res, data) {

    FB.api(_url, function (res_fb) {

        if(!res_fb || res_fb.error) {
            console.log(!res_fb ? 'error occurred' : res_fb.error);
            return;
        }

        // Do stuff with data

        get_post_image (res, data); …
Run Code Online (Sandbox Code Playgroud)

javascript node.js promise express async-await

3
推荐指数
1
解决办法
4894
查看次数