【发布时间】:2019-01-24 13:33:40
【问题描述】:
我有一个简单的演示来理解 Promise 概念,但它没有按预期工作, 查看我尝试过的代码。
module.exports = async function (context, iotHubMessage) {
context.log('START');
var promise1 = new Promise(function (resolve, reject) {
setTimeout(function () {
resolve('foo');
}, 1000);
});
context.log(promise1);
promise1.then(function (resolve) {
context.log(resolve);
// expected output: "foo"
});
};
我得到了这个输出
2019-01-24T12:58:38.695 [Information] START
2019-01-24T12:58:38.695 [Information] Promise { <pending> }
2019-01-24T12:58:38.696 [Information] Executed
为什么在输出日志中没有得到foo,请帮助我,谢谢!
【问题讨论】:
-
该代码最终肯定会运行
console.log(resolve)和'foo'如果该进程在一秒钟后仍在运行。你后来看输出了吗? -
请注意,没有理由标记该函数
async。它从不使用await。 -
可以贴一下context.log函数的代码吗?
-
是的@T.J.Crowder 我在复制日志之前等待
标签: javascript promise azure-function-async