相关疑难解决方法(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万
查看次数

657
推荐指数
15
解决办法
33万
查看次数

承诺不仅仅是回调吗?

我已经开发了几年的JavaScript,我根本不理解有关承诺的大惊小怪.

似乎我所做的只是改变:

api(function(result){
    api2(function(result2){
        api3(function(result3){
             // do work
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

无论如何,我可以使用像async这样的库,例如:

api().then(function(result){
     api2().then(function(result2){
          api3().then(function(result3){
               // do work
          });
     });
});
Run Code Online (Sandbox Code Playgroud)

哪个代码更多,可读性更低.我没有在这里获得任何东西,它也不会突然神奇地"平坦".更不用说必须将事物转换为承诺.

那么,这里的承诺有什么大惊小怪?

javascript callback promise q bluebird

402
推荐指数
7
解决办法
9万
查看次数

JavaScript中Deferred,Promise和Future之间有什么区别?

延期,承诺和期货有什么区别?
这三者背后是否有普遍认可的理论?

javascript future promise deferred

297
推荐指数
5
解决办法
10万
查看次数

了解node.js中的promise

根据我的理解,有三种方法可以调用异步代码:

  1. 事件:例如. request.on("event", callback);
  2. 回调:例如. fs.open(path, flags, mode, callback);
  3. 承诺

我找到了一个承诺库https://github.com/kriszyp/node-promise,但我没有得到它.

有人可以解释一下什么是承诺,为什么我应该使用它?

另外,为什么它从Node.js中删除了?

javascript node.js promise

146
推荐指数
6
解决办法
10万
查看次数