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