首页 > 解决方案 > 如何解决承诺功能

问题描述

承诺后如何显示结果?我看到了结果,console.log("the result is==>", result)promise.then我没有看到控制台。

const signIn = (password) => {
  var request = new DeviceAuthQuery();
  request.setPassword(password);
  let result;

  var response = client.authenticate(request, {}, (err, response) => {
    console.log("Request Sent 1111");
  });

  let promise = new Promise(() => {
    response.on('data', function(reply) {
      console.log('Data: 22222' + reply.getAuthjwt());
      result = reply.getAuthjwt();
      console.log("the result is==>", result)
      promise.resolve(true);
    });
  });

  promise.then(() => {
    console.log("the result ZZZZZ==>", result)
  })

标签: javascriptjqueryreactjsreduxreact-redux

解决方案


您应该使用提供给 Promise 构造函数的函数中的参数来解析/拒绝该承诺。然后你只需将数据作为参数传递给那些。这是一个基本示例:

const signIn = () => {
  var promise = new Promise((resolve, reject) => {
    setTimeout(function() {
      resolve("Foo Bar");
    }, 2000)
  });

  promise.then((result) => {
    console.log("the result ZZZZZ==>", result)
  })
}

signIn();


推荐阅读