我想知道是否有办法获得第二个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();

答案 0 :(得分:20)
您只能传递一个项目。但是从ES6
开始,有一个名为 Array Destructuring的好功能。
返回一个数组,您可以将属性分配保留在引擎盖下。
function testFunction() {
return new Promise(function(resolve, reject) {
resolve([ "test1", "test2"] );
});
}
async function run() {
const [firstRes, secondRes] = await testFunction();
console.log(firstRes, secondRes);
}
run();