繁体   English   中英

如何解决promise函数

[英]How to resolve promise function

如何在承诺后显示结果? 我在console.log("the result is==>", result)看到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)
  })

你错过了回调结果:

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

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

您应该使用提供给 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();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM