提问人:Thomasino73 提问时间:11/9/2023 更新时间:11/9/2023 访问量:25
MQTTX - ReferenceError:未定义 fetch
MQTTX - ReferenceError: fetch is not defined
问:
我正在使用脚本部分编写一个小脚本。代码如下:MQTTX
JavaScript
async function handlePayload(value, msgType, index) {
const object = value
const d = new Date();
let time = d.getTime();
const date = new Date(time);
// Get the hours and minutes
const hours = date.getUTCHours();
const minutes = date.getUTCMinutes();
const seconds = date.getUTCSeconds();
const timeX = `${hours + 1}:${minutes}:${seconds}`;
object.time = timeX
object.message = "⚠️ Check out our new Raffle! ⚠️";
const postData = {
included_segments: ["Total Subscriptions"],
app_id: ONES_APP_ID,
contents: { en: "Something went wrong" },
headings: { en: "❌ - Error" },
data: { custom_data: "some_value" },
android_channel_id: ANDROID_CHANNEL_ID,
ios_sound: "alarm.wav"
};
if (msgType === "publish" && object.type === "error") {
const response = await fetch(API_URL, {
method: "POST",
body: JSON.stringify(postData),
headers: {
"Authorization": REST_API_KEY,
"Accept": "application/json",
"Content-Type": "application/json",
},
});
}
return JSON.stringify(object);
}
整个脚本都可以工作,除了 ,甚至更好的是,不仅 不起作用,而且 & 不起作用。它们 3 都提供了如下错误。fetch
fetch
axios
XMLHttpRequest
ReferenceError:<fetch |公理 |XMLHttpRequest> 未定义
我已经问过人们,但截至今天还没有回应,所以我在你们所有人之前来到这里寻求指导。或者,如果有任何其他方法。该调用在 中起作用。MQTTX
Postman
答:
1赞
hardillb
11/9/2023
#1
fetch
是实验性的,是在 NodeJS v17.5 中添加的(并在 v18.0 中启用),我猜但看起来 MQTTX 是基于 electron 的,所以仍在运行一个不在正确级别的 NodeJS 引擎(可能是 v16.x)。
其他库(例如 axios)不在运行脚本代码的沙盒范围内。
您将需要 MQTTX 人员回答哪些选项可用于在他们的脚本沙箱中发出 HTTP 请求。
评论
0赞
Thomasino73
11/9/2023
好的,我会等待回复,非常感谢!
评论