Я пытаюсь использовать API, созданный с помощью функций обратного вызова, используя обещания.
Чтобы проверить это, я создал следующие три функции:
this.functionResolve = (data) => console.log('resolved: ' + data)
this.functionError = (data) => console.log('error: ' + data)
this.functionSucess = (data) => console.log('success: ' + data)
Если используется обычный обратный вызовфункции, все работает отлично, и я получаю два журнала.(разрешение и ошибка / успех зависят от сообщенной карты)
PagSeguroDirectPayment.getBrand({
cardBin: "000000",
complete: this.functionResolve,
success: this.functionSucess,
error: this.functionError
});
Чтобы преобразовать это в обещание, я получил следующее:
this.promisifyCallback = function() {
return new Promise((resolve, _success, _error) => {
PagSeguroDirectPayment.getBrand({
cardBin: "000000",
complete: resolve,
success: _success,
error: _error
});
});
}
Когда язвоните this.promisifyCallback().then(this.functionResolve, this.functionSucess, this.functionError)
, отображается только журнал разрешений.
В случае, если кто-либо хочет проверить, объект PagSeguroDirectPayment доступен по адресу: PagSeguro API