fix(lint): resolve floating promise warnings

This commit is contained in:
zetaloop
2026-03-01 22:53:48 +08:00
parent 05c5d05148
commit aae83bce44
9 changed files with 59 additions and 45 deletions
+1 -1
View File
@@ -47,7 +47,7 @@ export default function DashboardPage() {
useEffect(() => { useEffect(() => {
let cancelled = false let cancelled = false
;(async () => { void (async () => {
try { try {
const orders = await Promise.resolve(listOrders()) const orders = await Promise.resolve(listOrders())
if (cancelled) return if (cancelled) return
-2
View File
@@ -24,8 +24,6 @@ export default function CommunityPage() {
useEffect(() => { useEffect(() => {
let cancelled = false let cancelled = false
setPostsLoading(true)
Promise.all([listGames(), listPlayers(), Promise.resolve(listOrders()), listPosts()]) Promise.all([listGames(), listPlayers(), Promise.resolve(listOrders()), listPosts()])
.then(([gamesItems, playersItems, ordersItems, postsItems]) => { .then(([gamesItems, playersItems, ordersItems, postsItems]) => {
if (cancelled) return if (cancelled) return
+6 -4
View File
@@ -29,8 +29,10 @@ export default function ChatDetailPage({ params }: { params: Promise<{ id: strin
useEffect(() => { useEffect(() => {
let cancelled = false let cancelled = false
setLoading(true) void Promise.all([
Promise.all([Promise.resolve(getChatSessionById(id)), Promise.resolve(listChatMessages(id))]) Promise.resolve(getChatSessionById(id)),
Promise.resolve(listChatMessages(id)),
])
.then(([nextSession, nextMessages]) => { .then(([nextSession, nextMessages]) => {
if (cancelled) return if (cancelled) return
setSession(nextSession) setSession(nextSession)
@@ -177,7 +179,7 @@ export default function ChatDetailPage({ params }: { params: Promise<{ id: strin
if (!file) return if (!file) return
const imageUrl = URL.createObjectURL(file) const imageUrl = URL.createObjectURL(file)
Promise.resolve(sendImageMessage(session.id, imageUrl)) void Promise.resolve(sendImageMessage(session.id, imageUrl))
.then((result) => { .then((result) => {
if (!result.ok) { if (!result.ok) {
notifyInfo(result.error.msg) notifyInfo(result.error.msg)
@@ -197,7 +199,7 @@ export default function ChatDetailPage({ params }: { params: Promise<{ id: strin
const text = input.trim() const text = input.trim()
if (!text) return if (!text) return
Promise.resolve(sendTextMessage(session.id, text)).then((result) => { void Promise.resolve(sendTextMessage(session.id, text)).then((result) => {
if (!result.ok) { if (!result.ok) {
notifyInfo(result.error.msg) notifyInfo(result.error.msg)
return return
+17 -9
View File
@@ -87,20 +87,28 @@ export default function DisputePage({ params }: { params: Promise<{ id: string }
useEffect(() => { useEffect(() => {
let cancelled = false let cancelled = false
const reset = () => {
setLoading(true) setLoading(true)
setOrder(null) setOrder(null)
setExistingDispute(null) setExistingDispute(null)
}
const load = async () => {
reset()
const [nextOrder, nextDispute] = await Promise.all([
Promise.resolve(getOrderById(id)),
Promise.resolve(getDisputeByOrderId(id)),
])
Promise.all([Promise.resolve(getOrderById(id)), Promise.resolve(getDisputeByOrderId(id))])
.then(([nextOrder, nextDispute]) => {
if (cancelled) return if (cancelled) return
setOrder(nextOrder ?? null) setOrder(nextOrder ?? null)
setExistingDispute(nextDispute ?? null) setExistingDispute(nextDispute ?? null)
})
.finally(() => {
if (cancelled) return
setLoading(false) setLoading(false)
}) }
void load()
return () => { return () => {
cancelled = true cancelled = true
@@ -162,7 +170,7 @@ export default function DisputePage({ params }: { params: Promise<{ id: string }
const handleSubmit = () => { const handleSubmit = () => {
if (!userId || !reason.trim()) return if (!userId || !reason.trim()) return
Promise.resolve( void Promise.resolve(
submitDispute({ submitDispute({
orderId: id, orderId: id,
reason, reason,
@@ -349,7 +357,7 @@ export default function DisputePage({ params }: { params: Promise<{ id: string }
<Button <Button
onClick={() => { onClick={() => {
if (!userId) return if (!userId) return
Promise.resolve( void Promise.resolve(
submitDisputeResponse({ submitDisputeResponse({
disputeId: existingDispute.id, disputeId: existingDispute.id,
reason: responseReason, reason: responseReason,
@@ -401,7 +409,7 @@ export default function DisputePage({ params }: { params: Promise<{ id: string }
variant="outline" variant="outline"
onClick={() => { onClick={() => {
if (!userId) return if (!userId) return
Promise.resolve( void Promise.resolve(
submitDisputeAppeal({ submitDisputeAppeal({
disputeId: existingDispute.id, disputeId: existingDispute.id,
reason: appealReason, reason: appealReason,
+4 -4
View File
@@ -44,7 +44,7 @@ export default function OrderDetailPage({ params }: { params: Promise<{ id: stri
useEffect(() => { useEffect(() => {
let cancelled = false let cancelled = false
;(async () => { void (async () => {
try { try {
const sessions = await Promise.resolve(listChatSessions()) const sessions = await Promise.resolve(listChatSessions())
if (cancelled) return if (cancelled) return
@@ -63,9 +63,9 @@ export default function OrderDetailPage({ params }: { params: Promise<{ id: stri
useEffect(() => { useEffect(() => {
let cancelled = false let cancelled = false
setLoading(true) void (async () => {
;(async () => {
try { try {
setLoading(true)
const order = await Promise.resolve(getOrderById(id)) const order = await Promise.resolve(getOrderById(id))
if (cancelled) return if (cancelled) return
setOrder(order) setOrder(order)
@@ -85,7 +85,7 @@ export default function OrderDetailPage({ params }: { params: Promise<{ id: stri
useEffect(() => { useEffect(() => {
let cancelled = false let cancelled = false
;(async () => { void (async () => {
try { try {
const reviews = await Promise.resolve(listReviewsByOrder(id)) const reviews = await Promise.resolve(listReviewsByOrder(id))
if (cancelled) return if (cancelled) return
+6 -3
View File
@@ -31,6 +31,8 @@ export default function NewOrderPage() {
useEffect(() => { useEffect(() => {
let cancelled = false let cancelled = false
const load = async () => {
setLoading(true) setLoading(true)
if (!serviceId) { if (!serviceId) {
@@ -40,7 +42,6 @@ export default function NewOrderPage() {
return return
} }
;(async () => {
try { try {
const s = await getServiceById(serviceId) const s = await getServiceById(serviceId)
if (cancelled) return if (cancelled) return
@@ -62,7 +63,9 @@ export default function NewOrderPage() {
setPlayer(null) setPlayer(null)
setLoading(false) setLoading(false)
} }
})() }
void load()
return () => { return () => {
cancelled = true cancelled = true
@@ -231,7 +234,7 @@ export default function NewOrderPage() {
disabled={balance < totalPrice} disabled={balance < totalPrice}
onClick={() => onClick={() =>
requireAuth(() => { requireAuth(() => {
Promise.resolve( void Promise.resolve(
createPaidOrder({ createPaidOrder({
playerId: player.id, playerId: player.id,
serviceId: service.id, serviceId: service.id,
+2 -2
View File
@@ -87,7 +87,7 @@ function OrderListContent({
useEffect(() => { useEffect(() => {
let cancelled = false let cancelled = false
;(async () => { void (async () => {
try { try {
const items = await Promise.resolve(listOrders()) const items = await Promise.resolve(listOrders())
if (cancelled) return if (cancelled) return
@@ -106,7 +106,7 @@ function OrderListContent({
useEffect(() => { useEffect(() => {
let cancelled = false let cancelled = false
;(async () => { void (async () => {
try { try {
const items = await Promise.resolve(listChatSessions()) const items = await Promise.resolve(listChatSessions())
if (cancelled) return if (cancelled) return
+8 -4
View File
@@ -25,9 +25,13 @@ export default function ReviewPage({ params }: { params: Promise<{ id: string }>
useEffect(() => { useEffect(() => {
let cancelled = false let cancelled = false
setLoading(true)
Promise.all([getOrderById(id), Promise.resolve(listReviewsByOrder(id))]) queueMicrotask(() => {
if (cancelled) return
setLoading(true)
})
void Promise.all([getOrderById(id), Promise.resolve(listReviewsByOrder(id))])
.then(([nextOrder, nextReviews]) => { .then(([nextOrder, nextReviews]) => {
if (cancelled) return if (cancelled) return
setOrder(nextOrder) setOrder(nextOrder)
@@ -170,7 +174,7 @@ export default function ReviewPage({ params }: { params: Promise<{ id: string }>
return return
} }
Promise.resolve( void Promise.resolve(
submitReview({ submitReview({
orderId: id, orderId: id,
rating, rating,
@@ -179,7 +183,7 @@ export default function ReviewPage({ params }: { params: Promise<{ id: string }>
).then((decision) => { ).then((decision) => {
if (decision.ok) { if (decision.ok) {
notifySuccess("评价已提交") notifySuccess("评价已提交")
Promise.resolve(listReviewsByOrder(id)).then((nextReviews) => { void Promise.resolve(listReviewsByOrder(id)).then((nextReviews) => {
setReviews(nextReviews) setReviews(nextReviews)
}) })
return return
+1 -2
View File
@@ -7,8 +7,7 @@ const nextConfig: NextConfig = {
return [] return []
} }
const backendUrl = const backendUrl = process.env.NEXT_PUBLIC_BACKEND_URL || "http://localhost:8080"
process.env.NEXT_PUBLIC_BACKEND_URL || "http://localhost:8080"
return [ return [
{ {