"observe" 承诺的正确方法并知道它何时结算
proper way to "observe" a promise and know when it's settled
我正在使用蓝鸟。如果我有一些 return 是一个承诺的功能,然后我只想 return 它给调用者,但我也想 "observe" 并知道什么时候履行承诺来做一个某些动作是 reflect()
合适的选择?我不希望以任何方式破坏对调用者的承诺,调用者仍然可以调用任何/所有 then()
、catch()
、error()
、finally()
, 甚至 reflect()
, 等等...基本上我希望在调用者和函数之间有一个中间件, 但不会为调用者弄乱任何东西。
function asyncFoo() {
const p = asyncAction();
p.reflect().then(inspection => {
console.log('promise p fulfilled %s', inspection.isFulfilled());
});
return p;
}
谢谢
then
是最小规格,可以正常工作...
function asyncFoo() {
const p = asyncAction();
p.then(result => {
console.log('promise p fulfilled with ${result}');
result;
});
return p;
}
返回的 promise 可以像从 asynchAction 返回的 promise 一样对待。它可以在其上调用 then
、catch
等,并且它将使用该异步结果进行解析。
我正在使用蓝鸟。如果我有一些 return 是一个承诺的功能,然后我只想 return 它给调用者,但我也想 "observe" 并知道什么时候履行承诺来做一个某些动作是 reflect()
合适的选择?我不希望以任何方式破坏对调用者的承诺,调用者仍然可以调用任何/所有 then()
、catch()
、error()
、finally()
, 甚至 reflect()
, 等等...基本上我希望在调用者和函数之间有一个中间件, 但不会为调用者弄乱任何东西。
function asyncFoo() {
const p = asyncAction();
p.reflect().then(inspection => {
console.log('promise p fulfilled %s', inspection.isFulfilled());
});
return p;
}
谢谢
then
是最小规格,可以正常工作...
function asyncFoo() {
const p = asyncAction();
p.then(result => {
console.log('promise p fulfilled with ${result}');
result;
});
return p;
}
返回的 promise 可以像从 asynchAction 返回的 promise 一样对待。它可以在其上调用 then
、catch
等,并且它将使用该异步结果进行解析。