[英]How can I fix a Node.js http post request or handle errors to more efficiently debug?
我知道這個例子缺乏背景。 但是此請求返回此錯誤:
TypeError: Invalid data, chunk must be a string or buffer, not object
我認為這是基於data
字段的原因,但我不確定。 此api返回JSON,因此我認為響應不是問題。 我最關心的是Node中更好的錯誤處理。 如果我確切知道錯誤的根源,我可以更快地解決此問題。 任何幫助,將不勝感激!
Program.prototype.produceSomething = function(){
const headers = {
'Authorization': 'API_KEY',
'Content-Type': 'application/json',
}
const options = {
url: 'SOME_API',
path: 'SOME_PATH',
method: 'POST',
data: 'dataString',
headers: headers,
};
let body = "";
return new Promise(function(resolve, reject){
let request = https.request(options,
function(response){
response.on('data', function(data){
body += data;
})
response.on('end', function(){
body = JSON.stringify(body)
resolve(body);
})
})
request.on('error', function(err){
reject(err)
})
})
}
body += data
確保數據是字符串或緩沖區。 如有必要,可以強制轉換為它。
對於調試,如果您使用大量Promises,則可以使用裝飾器模式記錄有用的內容
由於options.data
是字符串,請嘗試將標題中的Content-Type
設置為text/html
。
如果您希望內容類型為application / json,請嘗試將options.data
設置為json對象。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.