javascript - Node.js 中的循环 Promise

标签 javascript node.js promise

我正在学习nodejs中的promise,下面是我的示例代码。 下面代码的输出是 测试 - 1 测试 - 2 测试 - 3 测试 - 4

var Q = require('q');
var promise = Q.when('test');

promise.then( function(val) {
console.log(val + '-' + '1');
});

promise.then( function(val) {
 console.log(val + '-' + '2');
});

promise.then( function(val) {
 console.log(val + '-' + '3');
});

promise.then( function(val) {
console.log(val + '-' + '4');
});

我想知道如何使用 for 循环编写相同的代码。

最佳答案

这并不是真正特定于 Promise 的。如果您在循环中创建回调,you'll need an extra closure scope ,除此之外它是相当标准的。

但是,针对您的具体情况,最简单的方法是仅使用单个回调,因为它们都附加到相同的 promise 并且将收到相同的值。所以你使用

require('q').when('test').then(function(val) {
    for (var i=1; i<=4; i++) {
        console.log(val + '-' + i);
    }
});

关于javascript - Node.js 中的循环 Promise,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35030676/

相关文章:

ajax - 是否有一个简单的 JS xhr 库(用于 node.js)使用 Q promises 进行获取/发布操作?

JavaScript - 返回 promise 和/或调用回调?

javascript - 如何获取data-esid属性并POST?

javascript - Google Analytics 代码出现在眼前会怎样?

javascript - Passport + Node.js/添加用户后自动登录

javascript - ejs 表单重定向到 URL 的双份副本(express.js)

javascript - 从 promise 对象或数组中提取数据

javascript - 颜色向下滚动时如何更改背景颜色?

javascript - 如何在 React 中的同级组件之间传递数据?

javascript - 在 Centos 5.5 上安装 Node.JS