在我的代码中,我有...
p.then(() => { console.log('Then 1'); return 'Hi Mum!!'});
...和
p.then(function(val) { console.log('Then 2: ' + val);
解决承诺后输出...
然后1 然后2:未定义
我如何访问那么2中的那么1中的退货?
答案 0 :(得分:2)
这不是链,您正在初始承诺中注册第二个延续,而不是先前then
调用返回的承诺。它应该看起来像这样:
p.then(() => { console.log('Then 1'); return 'Hi Mum!!'})
.then(function(val) { console.log('Then 2: ' + val) });
执行此操作的另一种方法是将第一个链分配给变量并提供对其的then
调用:
const chain = p.then(() => { console.log('Then 1'); return 'Hi Mum!!'})
// ...
chain.then(function(val) { console.log('Then 2: ' + val); });
这使您可以传递承诺链,并且仍然可以传递期望值。