如何从不公平的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) 
     } 
     }) 
    }); 
}