javascript - 等待而不是等待解决 promise

标签 javascript node.js asynchronous async-await

这是我的小 twilio 函数/类返回的 promise ,我将其导入到另一个文件中。我收到 errres 在这里返回它的 promise

class TwilioService {
  sendSms(to, message) {
    return this.twilio.sendMessage(sms,(err,res) => {
      return new Promise((resolve, reject) => {
        if (err) {
          console.log(err)
          return resolve(res)
        } else {
          console.log(res, 'ppppppppppppppppp')
          return reject(res)
        }
      })
    })
  }
}

现在这是我正在使用该函数的函数。

但是当我执行 console.log(sendSms) 时,即使我从 twilio 函数返回 promise ,我在控制台中也未定义。我在这里做错了什么。

import Twilio from '../../services/twilio'
const twilio = new Twilio()
const handler = async(request, reply) => {
  try {
    const sendSms = await twilio.sendSms(`+91${mobile}`, `Welcome to App. User ${verificationCode} as your signup OTP.`)
    console.log(sendSms, 'oooooooooooooooo')
  } catch(err) {
    console.log(err)
  }
}

请帮忙!!!谢谢

最佳答案

您目前正在返回回调,它可能不会返回Promise - 切换顺序,返回在sendMessage 回调运行时解析的Promise。另请注意,如果存在 err,则应reject;如果没有 err,则应使用 res 进行resolve,而不是相反:

class TwilioService {
  sendSms(to, message) {
    return new Promise((resolve, reject) => {               // switch these two lines
      return this.twilio.sendMessage(sms, (err, res) => {   // switch these two lines
        if (err) {
          console.log(err)
          return reject(res) // reject on error, don't resolve
        } else {
          console.log(res, 'ppppppppppppppppp')
          return resolve(res) // resolve when there's no error
        }
      })
    })
  }
}

关于javascript - 等待而不是等待解决 promise ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52811603/

相关文章:

javascript - 使用 React Bootstrap 渲染 Modal

javascript - jQuery fieldselection ReplaceSelection 不适合我

javascript - 使用 JavaScript 从 JPEG 中读取 JPEG 注释的最合适方法是什么?

c# - 多个调用等待同一个异步任务

javascript - 在使用错误返回异步函数时,避免 Node.JS 中的回调 hell 的常见做法有哪些?

javascript - 一行代码的单元测试

javascript - 实现流畅的 JS tile 界面

javascript - 如何重构 switch 案例以调用类中的方法?

node.js - NodeJS 加密的 HTTPS 响应体

Java AWT drawImage 竞争条件 - 如何使用同步来避免它