1

Recently I came across a small, but meaningful JavaScript question: Is there any functions like Promise.all() but that runs all promises even after one fails?

It was closed as a duplicate, and that makes sense as there's another highly upvoted question that covers it: Wait until all promises complete even if some rejected

The problem is that 4 years and 9 months later, the top answer, selected answer, and even an answer that cover the modern functionality (from when it was a TC39 proposal) are out of date. There's a standard feature available in ECMAScript 2020 that provides the requested functionality.

I'd like nothing more than to edit the answers with the ECMAScript 2020 way, point to polyfills for backwards compatibility, and move on. That's where I ran into a little issue because it seems quite a few others would like nothing more than to do the same, and the edit queue is full. My next thought is "Well, time to help out!", but I can't work the edit queue. Editing is incorrect, I accept my concept of "small change" was at odds with the community and a new answer would be the appropriate way, but my later question still stands.

Frankly I see this as a pretty major detriment to the usefulness of SO in context of an ecosystem that sees improvements and growth so quickly. There is no way that the comment closest to the modern best answer will amass an additional ~300 upvotes to make its way to the top with anything but a user powered campaign along the lines of "Down with the superceded answers!" where we gather a critical mass of users to start looking for these questions and break the rules by brigading them to bring the newer best practices up to the top.

In the specific context of this duplicate I'm extremely happy to see another user was able to get an answer in regardless of the flagging and closure.

My question in a nutshell: What can we do when we can't do what's best for improving SO questions and answers by following the rules because the rules and system are too overloaded and won't allow us to help?

  • 1
    Not sure this should be posted here as it's specific to SO and probably deserves to be on Meta SO instead, but I would 1) Wait until the edit queue is relieved enough for you to submit your changes, and 2) Continue gathering reputation through other actions (answering, asking) to eventually gain the ability to review suggested edits. – Spevacus Apr 29 at 19:13
  • 4
    Also note that edits are for minor corrections, major changes will be rejected. – greg-449 Apr 29 at 19:15
  • @Spevacus you are totally right, I should be on Meta SO and will be closing this. It's been so long since I needed to be there I thought I'd missed a redesign. – gelliott181 Apr 29 at 19:17
  • @MarkKirby you seem to have missed where I highlighted the issue with that: "There is no way that the comment closest to the modern best answer will amass an additional ~300 upvotes to make its way to the top with anything but a user powered campaign along the lines of "Down with the superceded answers!" where we gather a critical mass of users to start looking for these questions and break the rules by brigading them to bring the newer best practices up to the top." – gelliott181 Apr 29 at 19:18
  • It's not entirely limited to Stack Overflow; on every site the queue has a limited size, and there's one other site in the network (if this answer is up to date) where they must have had the same problem. – Glorfindel Apr 29 at 19:19
  • 2
    I agree with @Glorfindel on this one. Your issue arose from SO, but it CAN apply to all sites. I've retracted my CV. – Spevacus Apr 29 at 19:21
  • Well the group disagrees! This is sticking around. – gelliott181 Apr 29 at 19:24
  • @MarkKirby this is the crux: JS (and other ecosystems like Swift) are moving extremely fast compared to that timeframe. An ES6 answer is currently up top, with an answer about a TC39 proposal (Which happens to have been accepted) being next. I don't see it being good for the community to have the next top answer to be out of date in ~2024 when the feature it discusses has been accepted and implemented for four major versions. – gelliott181 Apr 29 at 19:33
  • As the author of one of the answers in question, I also would've welcomed a comment ("ES2020 is finished, feel free to update your answer") and I would've fixed it. I'd hope that others with out-of-date answers would feel the same. – CertainPerformance Apr 30 at 1:11
6

A commentator mentioned that edits were for minor changes. More specifically, you should not be using edits to point out a different or new way of doing something. There is a suggested edit rejection reason for that - either "attempt to reply" or "conflicts with author's intent". It's very easy to introduce errors or subtle changes into an answer through edits, which is a major reason that functional code edits (as opposed to formatting improvements) are almost always rejected!

If the top answer (or any answer, really) is out of date, you should instead post a new answer with the new method, best practice, API call, or similar. Let the old answer stand - sometimes people use older versions of the technology and want the old way, and sometimes people might want to know how things used to work!

What should you use an edit for? Use an edit to improve the phrasing, grammar, spelling, organization, formatting, or presentation of an answer so that the answerer's actual answer becomes more clear. You should never change the actual underlying answer.

Here are two examples:

Good edit:

hey to run stuf do "load module = get(computer).run(inventory.module);" effective for 3.0 sw please upvote thanks

becomes

If you are using version 3.0 of Software Works, you can run the module by entering load module = get(computer).run(inventory.module); at the console.

Bad edit:

The correct procedure is to first load the stored value function onto the heap with hload and then call it with your three arguments.

becomes

The correct procedure is to first load the stored value function onto the heap with sysrun.loadfunction and then call it with your three arguments. Don't use hload as it was deprecated in Version 6!

Remember that the answers above (and any other answers that you might see) might be right or wrong, useful or not useful. We vote on that. Votes become meaningless if anyone and everyone is changing the answer to what they think is correct. If you see an answer that is wrong or not useful, post a better answer!

| improve this answer | |
  • Ok, so ignore the editing terminology: What about the fact the current answer is from ES6 days, and took 5 years to reach the top, while the next best answer with ~10% of the upvotes is already out of date as the TC39 proposal it discusses is officially implemented in ES2020? If new answers could easily amass the needed votes, this would work great, and I have been a supporter of dupe closure for my entire 8 year membership. Being a major proponent of best practices in Swift and JS puts me at odds with that as it's no longer best practice. – gelliott181 Apr 29 at 19:40
2

What can we do when we can't do what's best for improving SO questions and answers by following the rules because the rules and system are too overloaded and won't allow us to help?

Wait. There will be a moment in the future where the review queue isn't full. Or a moment where you reach 2000 reputation and be able to make edits yourself (and help with emptying the review queue).

Increasing the queue size won't help, as that would eventually mean your edit doesn't get reviewed at all, or very late at best. Suggested edits don't age away like close votes do, but still ...

| improve this answer | |
  • As a user who, by luck, managed to answer a popular Angular 2 question and haven't been able to replicate that success, I've accepted that I'm simply too slow to answer and likely to never hit that 2000 rep threshold. I also don't want queues to be larger, I've been on SO for nearly a decade and think the rules work well in most cases. It's this specific case (And I can think of a couple times I've felt similarly about Swift due to the speed we see new features) where it seems the system is going to perpetuate outdated best practices and patterns for an excessively long time. – gelliott181 Apr 29 at 19:27
2

I wouldn't edit the answer, I would leave a comment on the accepted answer explaining it is out of date. If your new comment is buried under 100 other comments, or you don't have the reputation to comment you could bring the question to the community's attention by explaining the problem on meta and getting their help in sorting it out.

| improve this answer | |

Not the answer you're looking for? Browse other questions tagged .