【问题标题】:How to fix error 'WooCommerce.get(...).then is not a function'?如何修复错误“WooCommerce.get(...).then 不是函数”?
【发布时间】:2020-07-25 05:42:56
【问题描述】:

我正在尝试开始使用 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 package

【问题讨论】:

    标签: javascript node.js woocommerce woocommerce-rest-api


    【解决方案1】:

    在 NPM 包页面底部找到了这个:

    只要将 Async 添加到方法名称中,每个方法都可以被使用。喜欢在:

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

    这实际上使代码现在可以工作。

    我仍然想了解我做错了什么,我不认为 WooCommerce 的官方 API 文档网站将所有代码示例都显示为错误。

    我猜想这与WooCommerce.get 没有返回承诺有关,但这也是它在文档中的方式。

    【讨论】:

      【解决方案2】:

      显然woocommerce.github.io指的是@woocommerce/woocommerce-rest-apiNPM包,而docs.woocommerce.com官网指的是WooCommerce API - Node.js ClientNPM包。

      有点混乱……但这解开了谜团。

      【讨论】:

        【解决方案3】:

        我遇到了类似的问题,但使用的是 post 方法。解决了添加带有响应参数的函数回调。

        WooCommerce.post("orders", data,function(req,res){
            console.log(res.statusMessage);     
        }); 
        

        【讨论】:

          猜你喜欢
          • 2019-12-25
          • 2021-06-12
          • 2019-07-01
          • 1970-01-01
          • 1970-01-01
          • 2019-11-26
          • 1970-01-01
          • 2019-07-10
          • 2021-01-10
          相关资源
          最近更新 更多