如何从不公平的PUT请求中返回承诺
问题描述:
我正在尝试创建一个返回承诺的函数,以便它可以链接在一起并与其他一些函数集成。如何从不公平的PUT请求中返回承诺
当我尝试运行,我得到以下错误: TypeError: Cannot read property 'then' of undefined
我可以把里面的承诺或.end
它需要整个函数体周围包裹?可以像这样正确处理错误吗?
index.js
const module = require('./module');
var test = {
name: "Full Name"
};
module.update(test).then((response) => {
console.log(response);
});
module.js
const unirest = require('unirest');
module.exports = {
update: function({name}) {
unirest.put(someURL)
.headers({
'Content-Type': 'application/json'
})
.send({
name: name
})
.end(function (response) {
return new Promise((resolve, reject) => {
if(response) {
resolve(response)
}
if(error){
reject(response)
}
})
});
};
答
你的函数的根应该是一个回归的承诺。
update: function(name) {
return new Promise((resolve, reject) => {
unirest.put(someURL)
.headers({
'Content-Type': 'application/json'
})
.send({
name: name
})
.end(function (response) {
if(response) {
resolve(response)
}
if(error){
reject(response)
}
})
});
}