Promise 方法链是否具有自我意识?
在包中,文档状态为: 可以通过调用 请求对象,然后调用.then()(或.end()或wait)发送 请求Promise 方法链是否具有自我意识?,promise,superagent,Promise,Superagent,在包中,文档状态为: 可以通过调用 请求对象,然后调用.then()(或.end()或wait)发送 请求 请求 .get(“/search”) 。然后(res=>{ //res.body、res.headers、res.status }); 但是SuperAgent支持方法链接,例如 request.get(“/search”) .set('header1','value') .set('header2','value') 在发送请求之前修改请求。所以 请求对象如何知道方法链何时完成,从而
请求
.get(“/search”)
。然后(res=>{
//res.body、res.headers、res.status
});
但是SuperAgent支持方法链接,例如
request.get(“/search”)
.set('header1','value')
.set('header2','value')
在发送请求之前修改请求。所以
请求对象如何知道方法链何时完成,从而不会过早发送?
我的理论是,请求
对象的任何链都会返回一个可启用的对象,该对象可以是等待
'd或.then()
'd,当它是时,它会触发一个请求并返回一个实际的承诺
我在超级代理回购协议中四处寻找,找不到类似的东西。否则,在方法链完成之前等待发送请求将如何完成?只要找到源代码并查看,就永远不会出错。因此,如果您查看,您将看到它在自身上调用
.end()
因此,当调用.then()
或.end()
时发送请求。在此之前,其他方法只是配置请求对象
并且,使用await
将调用promise上的.then()
另外,如果您在上面的源文件引用中搜索
.end
,您将看到几十个代码示例,它们都显示在链的末尾.end()
。这是superagent的原始设计架构。然后,当承诺出现时,添加了对.Then()
的支持,并在内部使用.end()
。是。正如您引用的文档所述,“调用.then()
或.end()
”确实会发送请求。这是否意味着等待
也会发送请求,因为对象是表
?@Jordan-是await
实际上调用了。然后()
,因为这是你知道承诺何时兑现的唯一方法。@Jordanawait
不是魔法,它只是。