Возврат чередующего отклика в функции Firebase в приложение Swift - PullRequest
0 голосов
/ 25 ноября 2018

Я пытаюсь сделать iOS, которая подключается к Stripe и может показывать информацию о пользователях, данные и прочее.

Я делаю это с помощью функций Firebase, поэтому мне не нужно обслуживать сервер, а также потому, что я новичок до крайности.

Но когда я пытаюсь сказать, найдите клиента с помощью вызываемых функций Firebase, напр.

exports.getCustomer = functions.callableFunctions((data, context) => { 
    stripe.customers.retrieve(
    data.customerID, function (err, customer) {
    console.log(‘customer’)
    });
});

Я не уверен, где разместить «возврат», чтобы фактически использовать этот объект «клиент» в моем приложении.Я пытался засунуть «возвращаемого клиента» под console.log, но он никогда ....... не возвращается.Я также попытался создать пустую строковую переменную, которую я установил после входа в консоль и возвратил, но это всегда появляется как пустая строка в приложении.

Извините за проблемы с набором текста, и этот вопрос носит очень теоретический характер - я набираю текст на своем телефоне, потому что не хочу его забывать, и некоторое время буду отсутствовать на компьютере.

Может ли кто-нибудь дать какие-либо рекомендации о том, как я могу вернуть объект 'customer' в свое приложение iOS?

1 Ответ

0 голосов
/ 25 ноября 2018

Подробнее здесь , начиная с выпуска версии 2 Stripe node.js API, они добавили поддержку обещаний: «Каждый метод ресурсов теперь возвращает обещание, соответствующее Promises / A +, в дополнение к поддержке обычногоcallback ".

Таким образом, вы можете сделать следующее:

exports.getCustomer = functions.callableFunctions((data, context) => { 
    const stripeCustomerID = data.customerID;

    return stripe.customers.retrieve(stripeCustomerID)
    .then(customer => {
       return { customer: customer };
    })
    .catch(err => {
       throw new functions.https.HttpsError('<status error code>', 'xxxxxxx');
    });

});

Как указано в doc , посмотрите здесь для возможногозначения

...