javascript - 承诺链延伸
问题描述
我很难使用 Promise 链接。我有一个通过一堆承诺解决的函数,我想要另一个基本上扩展该承诺链的函数,但我很难过。所以这就是它的样子。
function foo() {
new Promise(function (res, re) {
/* code */
}).then(function() {
/* code */
}).then(function() {
/* code */
}).then(function() {
/* code */
});
}
我希望函数 extend() {} 扩展 foo 中的承诺链。我尝试将 foo 包装为一个承诺,但由于某种原因,这也不太奏效。有没有办法在不重复代码的情况下做到这一点?谢谢你。
解决方案
只需从以下位置返回承诺链foo
:
return new Promise(/*...*/).then(/*...*/)
然后它很容易:
foo().then(/*...*/)
推荐阅读
- html - 删除嵌套表格中的边框
- python - 带有 If 的函数
- flutter - 打开应用程序时如何避免打开状态栏和底部按钮栏?
- node.js - 当我在 nuxt 中选择 express 作为集成服务器端框架时,导入、导出和其他 es6 功能不起作用?
- javascript - 单击按钮,将数据添加到 SQL 并再次单击以删除数据,需要 php 代码
- excel - 循环遍历所有数据透视表的所有数据透视字段值
- java - 如何区分从 cardview 子项的 onclicklistener 传递到 OnActivityResult 的意图
- reactjs - TypeError:无法读取未定义反应的属性“道具”
- c# - 异同点:ViewModelLocator、ServiceLocator、依赖注入
- python - 正在为变量返回“无”梯度