Как исправить ошибку «WooCommerce.get (...). Тогда это не функция»? - PullRequest
0 голосов
/ 12 апреля 2020

Я пытаюсь начать работу с WooCommerce API - Node.js Клиент, который выглядит очень просто.

Но когда я копирую простой пример с официального сайта WooCommerce, я получаю следующую ошибку:

TypeError: WooCommerce.get(...).then is not a function

Вот код:

var WooCommerceAPI = require('woocommerce-api');

var WooCommerce = new WooCommerceAPI({
  url: 'https://somewebsite.com/',
  consumerKey: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  consumerSecret: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  wpAPI: true,
  version: 'wc/v1'
});

WooCommerce.get("products/1359")
  .then((response) => {
    console.log(response.data);
  })
  .catch((error) => {
    console.log(error.response.data);
  });

https://woocommerce.github.io, NPM упаковка

Ответы [ 2 ]

0 голосов
/ 13 апреля 2020

Видимо woocommerce.github.io относится к @ woocommerce / woocommerce-rest-api NPM пакету, где docs.woocommerce.com официальный сайт обратитесь к WooCommerce API - Node.js Клиент NPM пакет.

Вроде сбивает с толку ... но это разгадывает тайну.

0 голосов
/ 12 апреля 2020

Обнаружили это в нижней части страницы пакета NPM:

Каждый метод можно использовать по-разному, просто добавив Asyn c к имени метода. Как в:

WooCommerce.getAsync('products').then(function(result) {
  return JSON.parse(result.toJSON().body);
});

Что фактически делает код работающим сейчас.

Я все еще хочу понять, что я делаю неправильно, я не думаю, что официальные документы API веб-сайт WooCommerce показывает все примеры кода как неправильные.

Я полагаю, он должен что-то делать с WooCommerce.get, не возвращая обещание, но опять-таки именно так, как в документах.

...