Как правильно использовать putAsync после promisify модуль запроса
Я искал здесь и там и в конечном итоге не нашел ничего относительно метода putAsync promisified request by bluebird.
var request = require('request');
var Promise = require('bluebird');
Promise.promisifyAll(require("request"));
request.putAsync({
uri: buApiUrl,
headers: {
'content-type': 'application/json'
},
body: JSON.stringify({
name: BU,
workstations: formattedWorkStaions[BU]
})
}).spread(function (response, body) {
debugHelper.log(body);
}).catch(function (err) {
debugHelper.error(err);
});
Выше приведен фрагмент кода, который находится в моей программе. И он не посылает запрос put. При использовании postAsync, if успешно отправит запрос post.
Может ли кто-нибудь помочь объяснить, почему?
1 ответ:
Я уже нашел ту часть, где ошибка в фрагменте кода putAsync. Я должен использовать JSON не тело, как ключ полезной нагрузки. И полезная нагрузка не нуждается в стрингировании. Вот новый фрагмент кода, доказавший свою работоспособность.
Это довольно сложно и приводит к моему второму вопросу. Почему существует такая разница между post и put, кроме их типа метода?var request = require('request'); var Promise = require('bluebird'); Promise.promisifyAll(require("request")); request.putAsync({ uri: buApiUrl, headers: { 'content-type': 'application/json' }, json: { name: BU, workstations: formattedWorkStaions[BU] } }).spread(function (response, body) { debugHelper.log(body); }).catch(function (err) { debugHelper.error(err); });