等待后我应该退还诺言吗?

时间:2020-09-17 09:26:01

标签: firebase google-cloud-functions

在firebase文档中,他们说您应该在异步操作后返回一个诺言

“要在异步操作后返回数据,请返回一个Promise。”

https://firebase.google.com/docs/functions/callable#sending_back_the_result

在示例中,他们使用a然后在异步操作完成后将消息返回给客户端。但是,当我使用await呢?我可以只返回一个对象,还是必须将其包装在promise中?

const response = await fetch('ttps://sandbox.itunes.apple.com/verifyReceipt', options);

if (response.status === 200)
    return {
        status: 200,
        message: "Subscription verification successfuly!"
    }

if (response.status === 200)
    return Promise.resolve({
        status: 200,
        message: "Subscription verification successfuly!"
    });

1 个答案:

答案 0 :(得分:1)

异步函数隐式返回承诺。因此,无需手动执行此操作。这应该可以正常工作:

itemSelectionChanged

实际上,函数const fetchData = async () => { const response = await fetch('https://sandbox.itunes.apple.com/verifyReceipt', options); if (response.status === 200) return { status: 200, message: "Subscription verification successfuly!" } else return null } 实际上返回fetchData,因为它被标记为异步