我很难找到问题的答案,也许是因为我不知道如何问它(使用哪些搜索字词)。我真的很难理解承诺,并观看过一些教程视频,但仍然没有得到一些基本的部分来点击它。
在Node中,我使用的是request-promise模块,它在调用rp()方法时返回一个promise。我在打电话 return rp(service); 来自一个功能。但是我想要做的是,添加一个.then()处理程序来对服务调用的结果进行一些后处理,BEFORE将promise返回给调用者,这样调用者仍然可以拥有自己的处理程序。
我如何做到这一点?
答案 0 :(得分:0)
查看当前的代码以更好地了解您正在努力解决的问题会很有帮助。
一般而言,您可以将承诺视为可以链接在一起的未来价值的占位符。
如果我理解你的问题,你想向服务器发出请求,接收响应,对响应做一些事情并将其返回给调用者。
const callService = (url) => {
// make sure to return your promise here
return rp(url)
.then((html) => {
// do something with html
return html;
});
};
现在你可以这样称呼它 -
callService('http://www.google.com')
.then((html) => {
console.log(html);
}).catch((err) => {
// error handling
});
常见的错误是在顶级函数和后续函数中省略return语句。
随意提供更多详细信息。