我不会向mocha(或其他任何我会使用承诺)的承诺返回最后一个"然后"我需要一个仅在第一个"然后"中返回的参数。我就这样做了:
it("#startTransaction()", () => {
let status = master.getStatus();
let filename = getTempFile("Attachment-startTransaction.fdb");
return dispatcher.createDatabase(status, filename)
.then((attachment) =>
attachment.startTransaction(status)
.then((transaction) => ({ attachment: attachment, transaction: transaction }))
)
.then((p) =>
p.transaction.commit(status)
.then(() => p.attachment)
)
.then((attachment) => attachment.dropDatabase(status))
.then(() => {
status.dispose();
})
.catch(() => {
assert(false);
});
});
因此,在提交交易后我需要附件。我能做的另一种方式就是完成" status",在链条之前宣布它,但我不喜欢这样。
我可以让我的承诺代码更具可读性吗?