Javascript 拉姆达-然后,否则,最后?
在Ramda中是否有一个“最终”实现,用于进行函数组合,并调用函数,而不管承诺的结果如何?我想做这样的事情:Javascript 拉姆达-然后,否则,最后?,javascript,functional-programming,ramda.js,function-composition,Javascript,Functional Programming,Ramda.js,Function Composition,在Ramda中是否有一个“最终”实现,用于进行函数组合,并调用函数,而不管承诺的结果如何?我想做这样的事情: compose( finally(() => console.log("The promise resolved or rejected, who cares!")) fetchAsync(id) ) const finally = fn => compose( otherwise(() => fn()),
compose(
finally(() => console.log("The promise resolved or rejected, who cares!"))
fetchAsync(id)
)
const finally = fn => compose(
otherwise(() => fn()),
andThen(() => fn())
);
如果不是的话,我想做这样的事情:
compose(
finally(() => console.log("The promise resolved or rejected, who cares!"))
fetchAsync(id)
)
const finally = fn => compose(
otherwise(() => fn()),
andThen(() => fn())
);
对此有什么想法吗?在
之后调用,然后在之后调用,否则无论结果如何
都会被调用,并最终充当的角色
:
compose(
andThen(() => console.log("The promise resolved or rejected, who cares!")),
otherwise(() => console.log('failed')),
fetchAsync(id)
)
我不认为否则
在这种情况下就足够了,因为它只在失败时调用。相反,.finally
不管发生什么都会被调用-
const effect=f=>x=>
(f(x),x)
常量日志=标签=>
效果(x=>console.log(标签,x))
常量错误=标签=>
效果(x=>console.error(标签,x))
常数测试=p=>
P
。然后(记录(“已解决”))
.catch(错误(“拒绝”))
.最后(日志(“您将始终看到此”))
测试(承诺、解决(1))
test(Promise.reject(2))
我明白了,但是我需要有一个另外的测试。我只想在异步函数之后有一个函数。这个线程中也有一些问题,我想这是一个更好的方法。但它要求所使用的promise实现最终支持(情况并非总是如此)。