javascript - 如何解决承诺功能
问题描述
承诺后如何显示结果?我看到了结果,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)
})
解决方案
您应该使用提供给 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();
推荐阅读
- java - 如何在 Android 应用程序中显示来自谷歌驱动器的图像?
- spring - 使用 @JobScope 为类编写 Junit 测试用例,出错为 java.lang.IllegalStateException: No Scope registered for scope name 'job'
- c++ - QDialog 不能在 Windows 上退出,但不能在 MacOS/
- pentaho-data-integration - 如何使用 Control M 调度 Pentaho 作业?
- flutter - 类的 BuildContext
- regex - 不能同时使用两个正则表达式语句
- nginx - Nginx 将 forum.example.com 重定向到 example.com
- java - 我在 Blue J 上绘制了一个带有 2 个变量的 StickFigure。我需要为更多实例变量添加声明
- c# - 使用 SearchHashtag Instashaper 的问题
- python - pip install PyAudio:错误:命令“cl.exe”失败:没有这样的文件或目录