如何从不受欢迎的PUT请求中返回承诺

KVN*_*VNA 4 javascript node.js promise unirest

我正在尝试创建一个返回promise的函数,以便它可以链接在一起并与其他一些函数集成.

当我尝试运行时,我收到以下错误: 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);
});
Run Code Online (Sandbox Code Playgroud)

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)
        }
      })
  });
};
Run Code Online (Sandbox Code Playgroud)

Fra*_*erZ 6

函数的根应该是返回promise的函数.

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)
        }
      })
  });
}
Run Code Online (Sandbox Code Playgroud)