c# - 使用 WooCommerceNET 库从 woocomerce 获取数据
问题描述
我已经通过 api 成功连接到我的 wc 站点,使用 site_name、客户密钥和客户密码,遵循这篇文章中的示例:如何显示来自 Woocomerce Api 调用的数据?
但是我收到此代码错误:
var orders = await wc.Order.GetAll();
“'await' 运算符只能在异步方法中使用......”
我怀疑这是一个问题,因为我直接在公共Form1中使用代码?
所以我将代码更改为(删除了“等待”):
var orders = wc.Order.GetAll();
我试着
foreach (var order in orders)
{
Debug.WriteLine($"ID: {Order.id}");
}
这里的错误是:
foreach 语句不能对 Task 类型的变量进行操作
为什么这被标记为“任务”?
这一定很容易解决,我对此感到很愚蠢……你能帮我摆脱困境吗?
感谢 HariHaran 帮助我解决了这个问题!我现在能够成功读取数据并将其写入文本框等。
但是我找不到读取嵌套数据的方法,例如,如何获取类别的名称?
"categories": [
{
"id": 15,
"name": "Furniture",
"slug": "furniture"
}
解决方案
您正在使用同步方法,因此更改如下行
var orders = wc.Order.GetAll().GetAwaiter().GetResult();
现在,如果您进行迭代,orders
它将起作用。
orders.ForEach(o=> Debug.WriteLine($"ID:{o.Id}"));
但是你应该了解 ASYNC / AWAIT - DOCS
推荐阅读
- ubuntu - 是否可以使用批处理脚本在 WSL2 中启动 xfce4?
- git - ModuleNotFoundError:Heroku 上没有名为“app”的模块
- javascript - 谁能帮我解决这个反应错误?
- python - Python Tornado KeyError 从客户端集中删除客户端时
- awk - 垂直对齐尾部反斜杠
- javascript - 如何更新 Firebase Firestore DB 中的嵌套对象
- java - 如何使用 while 循环输出具有必要间距和缩进的“*”?
- php - 小数点后向上取整到最大值
- docker - Docker:TypeError:-=:'Retry'和'int'不支持的操作数类型
- mysql - 如何在 MySQL 中为每一行仅连接唯一列?