Node.js nodejs-多个异步http请求
我刚刚开始了我的nodejs之旅,我想创建一个简单的nodejs应用程序,它需要: -首先通过http请求/获取一些初始数据, -使用接收到的json执行另一组请求(有些可以并行执行,有些需要先执行,接收到的数据将用于创建有效的url) 考虑到nodejs是异步的,并且基于回调,我想知道实现这一点的最佳方法是什么,以获得“干净的代码”,并且不会过多地弄乱代码Node.js nodejs-多个异步http请求,node.js,Node.js,我刚刚开始了我的nodejs之旅,我想创建一个简单的nodejs应用程序,它需要: -首先通过http请求/获取一些初始数据, -使用接收到的json执行另一组请求(有些可以并行执行,有些需要先执行,接收到的数据将用于创建有效的url) 考虑到nodejs是异步的,并且基于回调,我想知道实现这一点的最佳方法是什么,以获得“干净的代码”,并且不会过多地弄乱代码 感谢您提供的任何提示/指导,Mark同意这是主观的,一般来说,我们要做的是承诺,还有一些固有的承诺: 对于您的特定问题,imo,npm模
感谢您提供的任何提示/指导,Mark同意这是主观的,一般来说,我们要做的是承诺,还有一些固有的承诺: 对于您的特定问题,imo,npm模块请求承诺提供了一些很好的解决方案。它本质上是请求模块的“预期”版本: 它将允许您获取/POST/PUT/DELETE,并使用。
then()
-这段代码首先从服务器获取一些内容,然后将其他内容发布到该服务器
function addUserToAccountName(url, accountName, username, password){
var options = assignUrl(url); // assignUrl is not in this code
request
.get(options) //first get
.auth(username, password)
.then(function(res) {
var id = parseId(res.data, accountName); //parse response
return id;
})
.then(function(id) {
var postOptions = Object.assign(defaultSettings, {url: url + id + '/users'})
request.post(postOptions) // then make a post
.auth(username, password)
.then(function(response) {
//console.log(response);
})
.catch(function(err) {
console.log((err.response.body.message));
})
})
}
您可以继续使用。然后()
从上一个返回的任何内容。然后()
将被传递到函数中
也许可以查看异步库。它有许多内置功能,似乎可以实现您所寻找的功能。一些有用的功能可能是“Async.瀑布”和“Async.map”
这在很大程度上是一件主观的事情,但我的想法是用来组织回调代码。请检查:)@标记所提供的答案相互补充,并且可以很好地协同工作。