Tag: 循环

循环通过asynchronous请求

所以我有以下代码循环通过一个对象: for(var x in block){ sendTextMessage(block[x].text, sender, function(callback){ //increment for? }) } 对于每个迭代,我想要做一个请求(发送一个facebook消息),只有在请求完成后,我想通过下一个迭代,这是因为没有任何callback,消息将不会被正确的连续发送。 function sendTextMessage(text, sender, callback) { let messageData = { text:text} request({ url: 'https://graph.facebook.com/v2.6/me/messages', qs: {access_token:token}, method: 'POST', json: { recipient: {id:sender}, message: messageData, } }, function(error, response, body) { if (response.statusCode >= 200 && response.statusCode < 300){ if(callback) callback('success') } }) } […]

当function完成时Nodejscallback下一个循环

假设我们有一个脚本,它将为数组中的每一行执行特定的任务。 function execute(err, array){ loop(array, function(err,object){ console.log(object) //do a certain task when it's finished get into the next object successively. }); } function loop(array,callback){ array.forEach(function(object){ callback(null, object); }); } function array(callback){ callback(null, [1, 2, 3, 4, 5]); } setTimeout(function(){ array(execute); }, 6000); 问题: 如何完成任务后才能进入下一个循环? 我的function被认为是asynchronous的?

在Javascript中循环使用正则expression式匹配

我很慢学习Javascript,并且难以在正则expression式匹配上实现for循环。 我正在express.js设置工作,在我的index.js有以下内容 var express = require('express'); var router = express.Router(); // the text block against which I am running the regex var para = "We have insisted on strict scrutiny in every context, even for so-called “benign” racial classifications, such as race-conscious university admissions policies, see Grutter v. Bollinger, 539 US 306, 326 (2003), race-based […]

如何使用Loop在Cosmos-DB / Document-DB中执行存储过程?

我有JSON喜欢 { "id": "58d99ca3231f13b9ecbbbca4", "50records": [ { "aomsLineNbr": 1, "licenses": [ { "productKey": "84fc2cde-9735-4cea-b97a-3cd627d3d0a5", "aid": "someAid" } ] } ] } 我想在aid的基础上取logging。 50record可以有多个对象, licenses也可以有多个对象。 我构build查询为"SELECT * FROM orders o WHERE o['50records'][0].licenses[0].aid='someAid'" 我怎样才能循环这50records和licenses来search所有可用的对象? 以下是我的商店程序: function getOrdersByAidCollection(aid){ var context = getContext(); var collection = context.getCollection(); var link = collection.getSelfLink(); var response = context.getResponse(); var query = "SELECT […]

如何在NodeJS中创build一个无限循环

我已经看到了关于无限循环JS的一堆答案,我认为这将有助于我的代码,但似乎并没有正常工作。 我有这个: var i = 0 while (true) { setTimeout(() => { i ++ console.log('Infinite Loop Test n:', i); }, 2000) } 我们的目标是在无限循环内每2秒钟得到一次日志,但是我似乎无法得到任何回报……我错在哪里? 在此先感谢您的帮助像往常一样!

为什么这段代码不会中断嵌套forEach

我已经在下面提到的函数中使用了两个返回语句。 但仍然为所有用户循环。 module.exports.getByKey = function(key, callback) { User.find().populate('licences').exec(function(err, users) { if(err) { return callback(err); } var keyFound = false; users.forEach(function(user) { console.log("user found " + user.name); user.licences.forEach(function(licence) { console.log("licence found"); if(licence.key == key) { keyFound = true; callback(null, user); return; } }, this); if(keyFound) { console.log("+++++++++++++++++++++++"); return; } }, this); // return callback({error: "Invalid Key"}); […]

等到for循环中的所有函数调用结束执行 – Javascript

我有一个函数,其中包含一个for循环内的另一个函数调用。 outerFunction(){ for (var j = 0; j < geoAddress.length; j++) { innerFunction(j); } } 我需要等到所有对innerFunction的调用完成。 如果我需要并行执行这些函数,那么如何在JavaScript中实现这一点?

node.js:循环中的闭包

我无法得到closures的挂钩。 一个非常简单的例子: var array = [1,2,3]; var test = [0,0]; var result = []; for (var i=1; i<=array.length; i++){ test[1] = i; result.push(test); } console.log(result); 如果我只是把“我”推到结果中,它输出“1,2,3”,但上面的方法总是得到“[0,3],[0,3] [0,3]”。 这是为什么? 我已经阅读了关于闭包的一些解释,但是我似乎不理解这个系统,这使得我很难在代码中发现更多的错误。 是不是有一个更简单的方法来解决上面的问题,而不是使用函数内的函数(这似乎是解决我所发现的每一个相同的问题)?

JavaScript – 通过对象循环查找特定键值

我有一个名为contentful.json的文件存储在我的目录的根目录。 这就是这个文件的样子: [{ "URL": "/force", "SpaceID": "2g1335I9GYQCKwmQYCuSSI" }, { "URL": "/heroku", "SpaceID": "2g1335I9GYQCKwmQYCuSSI" }, { "URL": "/slack", "SpaceID": "2g1335I9GYQCKwmQYCuSSI" }, { "URL": "/contentful", "SpaceID": "2g1335I9GYQCKwmQYCuSSI" }, { "URL": "/openShift", "SpaceID": "2g1335I9GYQCKwmQYCuSSI" }] 然后我有一个名为contentful.js的文件。 看起来像这样: const fs = require('fs'); let obj; fs.readFile('./contentful.json', 'utf8', (err, jsonData) => { if (err) throw err; obj = JSON.parse(jsonData); // Method […]

NodeJS fs.stat在一个循环内

我有什么我会叫一个奇怪的问题..我想这是如何节点asynchronous工作,但我不知道如何解决它.. 我有以下代码: function traverse(dir) { console.log("START: " + dir); fs.readdir(dir, function(err, list) { list.forEach(function(element) { path = dir + "/" + element console.log("Loop files/folders : " + path); fs.stat(path, function(err, stats,) { console.log("fs.stats file path : " + path + " : " + stats.isDirectory()) }); }, this); }); } 这给出了以下输出: START: ./data/2017 Loop files/folders […]