在我的代码中,我在另一个函数中使用了一个函数,其中内部函数返回一个值。像那样:
java.lang.IllegalStateException: No multipart config for servlet
但我的问题是第二个函数不等待第一个函数,因此,我得到一个未定义的返回。
如何强制某个函数等待另一个函数来获取同步函数?
答案 0 :(得分:4)
我使用了这个承诺,从第一个承诺...
如:
function first(){
/*do stuff*/
return Promise.resolve(stuff);
}
first().then((stuff) => {
second(stuff);
});
一个稍微更具体的例子,让我们做一些异步。东西:
function first(){
return new Promise((resolve) => {
setTimeout(resolve, 100, 'stuff');
});
}
function second(stuff){
console.log('second: ', stuff);
}
first().then((stuff) => {
second(stuff);
});
在较新版本的Node.js中,你也可以这样做:
var testIt = async function()
{
var result = await first();
second(result);
}
testIt();
这是一个小语法糖,使代码更容易理解。