【发布时间】:2021-09-02 09:30:17
【问题描述】:
我目前正在尝试执行“Zapier 代码”操作,以向 IronWifi 发出 API 请求,以创建用户并为其填写信息/详细信息。
目前,我已经能够通过四个“Zapier 代码”操作来做到这一点。每个操作都是一个获取请求。
但是,我希望将所有四个 API 请求合并到一个操作中。似乎当使用获取请求时,必须立即使用“回调”。我相信这会迫使行动在那一刻停止。
目前我尝试编写代码来创建用户,然后添加名字。我目前的代码如下:
var headers = {
"Authorization": "Bearer 22ef59a2eb2a6939f5bd26bb43ff8b2d4d9b24ab",
"Content-Type": "application/json"
};
var url = "https://us-east1.ironwifi.com/api/users";
var username = inputData.name;
var data = JSON.stringify({"username":username});
//First fetch request (API hit) for creating a user in IronWifi
var user = fetch(url, {method: "POST", headers: headers, body: data}).then(function(binaryResponse) {
return binaryResponse.json();
}).then(function(jsonResponse) {
callback(null, {result: jsonResponse.id});
}).catch(callback);
url = url + "/" + user.result;
var firstName = inputData.first
data = JSON.stringify({"firstname":firstName});
//Second fetch request (API hit) for giving the user a first name
var nameFirst = fetch(url, {method: "PATCH", headers: headers, body: data}).then(function(binaryResponse) {
return binaryResponse.json();
}).then(function(jsonResponse) {
callback(null, {result: JSON.stringify(jsonResponse)});
}).catch(callback);
var output = {user: user, firstname: nameFirst};
return output;
似乎第二个获取请求从未被执行,但第一个获取请求正在执行。有没有办法让这些获取请求按顺序成功执行?
【问题讨论】:
标签: javascript fetch zapier