node.js合并回调数据问题

发布于 2022-09-01 06:45:44 字数 321 浏览 15 评论 0

client.get('str_key_0', function(error, res){
            if(error) {
                console.log(error);
            } 
        });
client.get('str_key_1', function(error, res){
            if(error) {
                console.log(error);
            } 

        });


我如何合将2个res合并到一起呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

抽个烟儿 2022-09-08 06:45:44

Q 这个组件挺好的

大海や 2022-09-08 06:45:44

我觉得这篇文章http://nya.io/Node-js/promise-in-nodejs-get-rid-of-callback-hell/提到的Promise/A+方法可以解决你的问题。
写出来的代码或许是这样子的:
首先需要自己制作Promise的API,然后传入Q.all中。

var Q = require('q');
function clientGet(key, callback) {
    var deferred = Q.defer();
    client.get(key, function(err, data) {
        if(err) {
            deferred.reject(err);
        } else {
            deferred.resolve(data);
        }
    });
    return defered.promise.nodeify(callback);
}

Q.all([
    clientGet('str_key_0'),
    clientGet('str_key_1')
    ])
    .then(function(dataArray){
    for(var i = 0; i < dataArray.length; i++){
      console.log(dataArray[i]);
    }
    }, function(err){
    console.log(err);
    });
别理我 2022-09-08 06:45:44

不知道你要找的是不是这个
express批量请求合并中间件multifetch

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文