#javascript #node.js #google-cloud-functions
#javascript #node.js #google-cloud-функции
Вопрос:
Я использую bignumber в nodejs для облачных функций с firebase.Я добавил BigNumber в конце, думая, что это может помочь.
const BigNumber = require("bignumber.js").BigNumber;
let Price = new BigNumber(0);
let Fee = new BigNumber(0.15);
let FeePrice = new BigNumber(0);
let TotalPrice = new BigNumber(0);
const priceValue = json["value"];
Price = new BigNumber(priceValue);
FeePrice = Price.times(Fee).toFormat(2, 6);
TotalPrice = Price.minus(FeePrice);
Я получаю эту ошибку в журнале облачной функции TypeError:
Price.minus не является функцией
Комментарии:
1. Могу ли я узнать, что находится
json
в вашейPrice = json["value"]
строке?2. это объект json
3. Итак, вы переходите
Price
отBigNumber
к некоторому значению объекта JSON, что означает, что он больше не является экземпляром BigNumber.4. вы правы. я обновил свой код и снова развернул, но все равно получаю ту же ошибку
5. я новичок в node и js, и я не знал, что вы можете использовать console typeof
Ответ №1:
Это typeof Price
может быть строка. Поэтому его необходимо преобразовать в BigNumber
. Вы можете использовать TotalPrice
с самим статическим методом BigNumber. (благодаря вашим ответам на комментарии)
TotalPrice = new BigNumber(Price).minus(FeePrice);