我正在尝试向api发送发布请求,并且似乎没有任何输出。 尽管我不知道我的请求格式是否正确,但我正在使用用于node.js的请求模块。
我没有做太多尝试,但是在我的请求中只是多种安排
exports.detectSong = function(base64) {
console.log("here1");
var request = require('request');
console.log("here2");
request({
url: 'https://audd.p.rapidapi.com',
method: 'post',
headers: { "X-RapidAPI-Host": "audd.p.rapidapi.com", 'X-RapidAPI-Key': '***************************************************' },
timeout: 10000,
body: JSON.stringify({
audio: base64,
method: 'recognize',
return: 'lyrics,timecode'
})
}, function(error, result, body) {
console.log("here3")
if (error) {
console.log(error);
} else if (result.statusCode === 500) {
console.log('error');
} else {
console.log(body);
}
});
console.log("here4");
};
因此,在控制台中,当我没有收到下面的信息时,我希望接收到“ here4”的输出,这是我收到的控制台输出:
10:42:17
START RequestId: 725f96ad-13e0-4d8b-a469-76161c5df2e4 Version: $LATEST
10:42:17
2019-06-25T10:42:17.817Z 725f96ad-13e0-4d8b-a469-76161c5df2e4 INFO here1
10:42:21
2019-06-25T10:42:21.019Z 725f96ad-13e0-4d8b-a469-76161c5df2e4 INFO here2
10:42:21
2019-06-25T10:42:21.199Z 725f96ad-13e0-4d8b-a469-76161c5df2e4 INFO here4
10:42:21
END RequestId: 725f96ad-13e0-4d8b-a469-76161c5df2e4
10:42:21
REPORT RequestId: 725f96ad-13e0-4d8b-a469-76161c5df2e4 Duration: 4037.28 ms Billed Duration: 4100 ms Memory Size: 128 MB Max Memory Used: 92 MB
如果有帮助,我返回的值将为null。
谢谢您的帮助!
答案 0 :(得分:0)
UrlFetchApp.fetch()
您是否使用AWS lambda运行代码?
我猜想您的lambda在应用程序收到服务器的响应之前就完成了。 您可以尝试返回一个诺言,然后AWS将等待诺言被解决或拒绝。
REPORT RequestId: 725f96ad-13e0-4d8b-a469-76161c5df2e4 Duration: 4037.28 ms Billed Duration: 4100 ms Memory Size: 128 MB Max Memory Used: 92 MB
};
更新:
handler.js -用于描述lambda的文件
exports.handler = function() {
var request = require('request');
var promise = new Promise(function (resolve, reject) {
request({
url: 'https://httpbin.org/post',
method: 'post',
body: JSON.stringify({})
}, function (error, result, body) {
if (error) {
reject(error)
}
resolve(body)
});
});
promise.then(function (result) {
console.log(result);
}).catch(function (err) {
console.error(err);
});
return promise;