JavaScript承诺链接传递先前的参数

时间:2016-10-17 22:20:10

标签: javascript node.js promise mocha

我不会向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",在链条之前宣布它,但我不喜欢这样。

我可以让我的承诺代码更具可读性吗?

0 个答案:

没有答案