gpt4 book ai didi

javascript - 强制一个函数等待另一个函数的最佳方法

转载 作者:太空宇宙 更新时间:2023-11-04 03:03:09 26 4
gpt4 key购买 nike

在我的代码中,我在另一个代码中使用了一个函数,其中内部函数返回一个值。像这样:

function first(){
/*do stuff*/
return stuff;
}
function second(){
var result = first;
}

但我的问题是第二个函数不等待第一个函数,因此,我得到了未定义的返回。

如何强制一个函数等待另一个函数来获取同步函数?

最佳答案

我会为此使用一个 promise ,从第一个返回一个 promise ..

如:

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();

这是一些语法糖,可以使代码更容易理解。

关于javascript - 强制一个函数等待另一个函数的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48949650/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com