在异步/等待时返回多个变量
我想知道是否有办法获得第二个resolve
值(Test2)而不返回数组或JavaScript对象。
function testFunction() {
return new Promise(function(resolve, reject) {
resolve("test1", "test2");
});
}
async function run() {
var response = await testFunction();
console.log(response); // test1
}
run();
解决方案
您只能传递一个项目。但是从ES6
开始有一个很好的功能,叫做Array Destructuring。
返回数组,您可以将属性赋值保留在幕后。
数据-lang="js"数据-隐藏="假"数据-控制台="真"数据-巴贝尔="假">function testFunction() {
return new Promise(function(resolve, reject) {
resolve([ "test1", "test2"] );
});
}
async function run() {
const [firstRes, secondRes] = await testFunction();
console.log(firstRes, secondRes);
}
run();
相关文章