(bluebird .tap) 无法 return 数据,做错了
(bluebird .tap) Can't return data, do wrong
我愿意:
return new bluebird((resolve) => {
bluebird.resolve()
.tap(saveExcelFiles)
.tap(...)
.tap(() => {
return getZip().then((rows) => {
resolve(rows) // this outer bluebird helps me
return rows;
});
})
;
});
如何return所有数据(每次点击)或仅在一个蓝鸟包装中最后一次点击。
P.S。我需要排序(一个接一个,接一个接一个)
.tap
明确表示 "ignore the return value",如果您需要 return 值 - 使用标准 .then
:
.then(() => {
return getZip().then((rows) => {
// Nothing outer.
return rows;
});
});
或更简洁:
.then(getZip); // that's it!
此外,您应该 return
承诺链而不是 explicit construction:
return saveExcelFiles().tap(...).then(getZip);
应该足以满足整个函数的要求。
我愿意:
return new bluebird((resolve) => {
bluebird.resolve()
.tap(saveExcelFiles)
.tap(...)
.tap(() => {
return getZip().then((rows) => {
resolve(rows) // this outer bluebird helps me
return rows;
});
})
;
});
如何return所有数据(每次点击)或仅在一个蓝鸟包装中最后一次点击。
P.S。我需要排序(一个接一个,接一个接一个)
.tap
明确表示 "ignore the return value",如果您需要 return 值 - 使用标准 .then
:
.then(() => {
return getZip().then((rows) => {
// Nothing outer.
return rows;
});
});
或更简洁:
.then(getZip); // that's it!
此外,您应该 return
承诺链而不是 explicit construction:
return saveExcelFiles().tap(...).then(getZip);
应该足以满足整个函数的要求。