我正在创建一个数组,在创建数组之后,该数组被解析为Object。 但是,由于我需要在解析后根据特定值对tempArray进行排序,我需要将其作为数组,而不是Object。 也是因为我在使用以下方式显示它之后:* ngFor。 或者以某种方式对Object进行排序而不是将其更改回数组更好?
返回的Promise的console.log显示在下面。
var tempArray = []
return new Promise((resolve, reject) => {
let error = false;
var i = 0;
for (let key of arrayOfPosts) {
tempArray[i] = {
"_id": key._id,
"postPub": key.postPub,
"timePast": this.timePastPublix
}
i++
}
if (error) {
reject('error')
} else {
resolve(tempArray)
}
});
{_id: "5aba1af4c97ce42ea81893bc", postPub: "0.00", timePast: "1970-01-01T01:00:00+01:00"}
{_id: "5ac698172910d705ecd66378", postPendingPayoutPublic: "0.00", timePast: "1970-01-01T01:00:00+01:00"}
答案 0 :(得分:3)
您可以将其作为数组返回,不需要对象:
var promise = new Promise((resolve, reject) => {
resolve([1,2,3,4,5]);
});
// reject example
var promise2 = new Promise((resolve, reject) => {
var array = [];
if(array.length == 0)
reject("error");
else
resolve(array);
});
promise.then(data => console.log(data));
promise2.then(data => console.log(data))
.catch(error => console.log(error));
这是一个stackblitz,它使用*ngFor
中的promise数组返回值:https://stackblitz.com/edit/angular-vpkk1a